javascript - BXSlider 在切换幻灯片时暂停 Youtube 视频

标签 javascript jquery jquery-plugins youtube bxslider

我有以下 BXSlider 示例,其中我有 4 张幻灯片,每张幻灯片都有一个 Youtube 视频。问题是当我播放视频并转到下一张幻灯片时,它会继续播放:

http://jsfiddle.net/isherwood/XWL9Y/

$(document).ready(function () {
$('.bxslider').bxSlider();
});

有人可以帮忙让 youtube 视频在转到下一张幻灯片时暂停吗?

最佳答案

var slider = $("#gallery").bxSlider({
    adaptiveHeight:true,
    auto:true, 
    autoStart:true, 
    autoControls:true, 
    video:true,
    onSlideAfter: function(slide){
       if (slide.find("iframe:first").length) {
           slider.stopAuto();
       }
    }
});

如果您将 iframe 用于 slider 中的其他内容,您也可以使用类似 slide.find("div.fluid-width-video-wrapper:first") 的方法。

Source

----更新----

var slider = $('.bxslider').bxSlider({
  onSlideAfter: function(slide, oldindex, currentSlide){
    oldSlide = $( '.bxslider > li:nth-child(' + (oldindex+1) + ')');
      youtubeVideo = oldSlide.find('iframe[src*=youtube]');
      if ( youtubeVideo.length ) {
        youtubeVideo.get(0).contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}','*');
      }
  }
});

Source

----编辑----

还要确保将 ?enablejsapi=true 添加到 iframe src,否则上面的 JavaScript 将无法工作 (source)。

关于javascript - BXSlider 在切换幻灯片时暂停 Youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500510/

相关文章:

javascript - jQuery .toggle(showOrHide) 不工作

php - 添加一个选择字段,该字段将更改 Woocommerce 简单产品中的价格

javascript - 通过我自己的类克隆另一个元素的内容和顺序

javascript - 使用 JQuery 粘性元素

jquery-ui - 在 dataTables 插件中单击列而不是行

javascript - 当用户的角色是员工时,ng-show 或 ng-if 隐藏按钮

javascript - 需要有关 inArray 的帮助

javascript - 如何在VueJS中按对象属性过滤对象数组

javascript - 设计模式: extending jQuery objects with chaining + namespacing

javascript - api在浏览器中工作但在fetch javascript中不起作用?