【问题标题】:Pause video on Bootstrap Tab Change在 Bootstrap 选项卡更改上暂停视频
【发布时间】:2014-11-25 20:37:59
【问题描述】:

这个问题的各个版本都被问过,但我找不到涉及多个视频和 Bootstrap 选项卡的太多内容。

我需要的是让给定的播放器在点击另一个标签时暂停。

 <div class="row">
            <div class="col-lg-12">
                <ul class="nav nav-tabs" role="tablist" id="myTab">
                    <li class="active"><a href="#tab1" role="tab" data-toggle="tab">Tab1</a></li>
                    <li><a href="#tab2" role="tab" data-toggle="tab">Tab2</a></li>
                    <li><a href="#tab3" role="tab" data-toggle="tab">Tab3</a></li>
                </ul>

                <div class="tab-content">
                    <div class="tab-pane fade in active" id="tab1">
                        <div class="embed-responsive embed-responsive-16by9">
                            <iframe id="video1" class="embed-responsive-item" src="//www.youtube.com/embed/7kq5f_apsuM?enablejsapi=1"></iframe>
                        </div>
                    </div>
                    <div class="tab-pane fade" id="tab2">
                        <div class="embed-responsive embed-responsive-16by9">
                            <iframe id="video2" class="embed-responsive-item" src="//www.youtube.com/embed/yWqG8ysc3BE?enablejsapi=1"></iframe>
                        </div>
                    </div>
                    <div class="tab-pane fade" id="tab3">
                        <div class="embed-responsive embed-responsive-16by9">
                            <iframe id="video3" class="embed-responsive-item" src="//www.youtube.com/embed/EVfGs78wD-c?enablejsapi=1"></iframe>
                        </div>
                    </div>
                </div>
            </div>
        </div>   

这是一个 jsFiddle:http://jsfiddle.net/o4eebLp4/

【问题讨论】:

  • This 应该可以帮到你。

标签: twitter-bootstrap tabs youtube youtube-api


【解决方案1】:

我使用本机引导选项卡事件找到了此解决方案。这是经过长时间搜索而不使用任何 iframe 或视频 ID 的特殊定位的最佳解决方案。

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  var iframe = $(e.relatedTarget.hash).find('iframe'); 
  var src = iframe.attr('src');
  iframe.attr('src', '');
  iframe.attr('src', src);
});

【讨论】:

    【解决方案2】:

    如果您在网页中有一个或多个视频,当您导航到另一个页面时,以下操作可停止视频。这是基于@fricks 回答和excellent solution 以模式关闭视频,上面@thekingoftruth。

    $(function(){
      $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
        var $iframes = $(e.relatedTarget.hash).find('iframe');
        $iframes.each(function(index, iframe){
          $(iframe).attr("src", $(iframe).attr("src"));
        });
      });
    });
    

    【讨论】:

      【解决方案3】:

      你需要javascript:

      $('#myTab a').click(function (e) {
      var selected = $(this).parent().index();
      $('#myTab a').each(function(index){
          if(index != selected){
              var iframe = $(".tab-content").children().eq(index).children().children().contents();
             iframe.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*')            
          }
      });
      });
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-29
      • 2016-06-29
      • 1970-01-01
      • 2015-03-17
      • 2018-04-22
      • 1970-01-01
      • 2021-07-17
      • 2019-03-08
      相关资源
      最近更新 更多