Hi, I am having trouble getting a carousel ( http://kenwheeler.imtqy.com/slick/ ) to stop auto playback when I use the YouTube slider clip ..
Someone said that I can use onAfterChange, but still donβt know how to turn off auto playback when the video is on (remember that this is when the mouse is NOT on the video)
Here is the code that I use any help would be nice :)
$("#slider").slick({ slidesToShow: 1, slidesToScroll: 1, arrows: false, dots: true, autoplay: true, autoplaySpeed: 7000, infinite: true }); var player; window.onYouTubePlayerAPIReady = function() { $("#player").hide(); var player_id = 'player'; var $player = jQuery('#'+player_id); var parent = $player.parent(); player = new YT.Player(player_id, { videoId: 'HevnOuJY1TM', height: parent.height(), width: '100%', playerVars: { 'autoplay': 0, 'controls': 0, 'rel' : 0, 'disablekb' : 0, 'modestbranding' : 1, 'showinfo': 0, 'html5': 1 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); var sizeVideo = _.debounce(function() { player.setSize('100%', parent.height()); }, 500); jQuery(window).on('load resize', sizeVideo); jQuery(window).trigger('resize'); }; function onPlayerReady() { $("#slide-video").on("click", function() { $(this).css('background','transparent'); $("#player").show(); player.playVideo(); }); } function onPlayerStateChange(event) { if(event.data === 0) { $(".countdown").fadeIn(); } if(event.data === 1) { $(".countdown").fadeOut(); } if(event.data === 2) { $(".countdown").fadeIn(); } if( 1 === event || 2 === event || 3 === event) { $('#slider') .slick('slickPause') .slick('slickSetOption', 'autoplay', false, true); } else { $('#slider').slick('slickPlay') .slick('slickSetOption', 'autoplay', true, true); } } });
source share