【问题标题】:Pause/stop videos into tabs when I clicked on a tab单击选项卡时暂停/停止视频到选项卡
【发布时间】:2016-06-29 23:13:34
【问题描述】:

我有一个标签菜单(三个标签),每个标签都有一个 html 视频(三个视频)。

我的问题是当一个视频正在播放时,更改标签我可以播放另一个视频但第一个视频继续播放。

当我点击一个标签时,我需要停止或暂停其他标签中的视频(如果正在播放)

这是选项卡式菜单代码:

<ul class="tabs-menu">
   <li class="current"><a href="#tab-1">Video1</a></li>
   <li><a href="#tab-2">Video2</a></li>
   <li><a href="#tab-3">Video3</a></li>
</ul>

还有标签:

<div class="tab">
   <div id="tab-1" class="tab-content">
      <div class="video">  
        <video id="video01" width="640" height="480" controls>
          <source src="video1.mp4" type="video/mp4">
        </video>
      </div>

   <div id="tab-2" class="tab-content">
       <div class="video">  
        <video id="video02" width="640" height="480" controls>
          <source src="video2.mp4" type="video/mp4">
        </video>
      </div>
    </div>
    <div id="tab-3" class="tab-content">
       <div class="video">  
        <video id="video03" width="640" height="480" controls>
          <source src="video2.mp4" type="video/mp4">
        </video>
      </div>
    </div>

有什么建议吗?在此先感谢 ;-)

【问题讨论】:

标签: javascript jquery video tabs


【解决方案1】:

我在可分页容器部分中遇到了同样的问题。我在每个部分都使用了 Flowplayer 视频插件。我可以用下面的代码解决这个问题:

/* video player in carousel to pause on click on next carousel item */
jQuery("ul.vc_pagination li.vc_pagination-item").not('.vc_active').find('a').click(function() {
    var vid_id = jQuery('.vc_tta-panels .vc_tta-panel.vc_active .flowplayer-video').attr('id');
    flowplayer('#' + vid_id + '').pause();
});

【讨论】:

    【解决方案2】:

    这是标签(javascript)中“链接”的代码:

         $(document).ready(function() {
         $(".tabs-menu a").click(function(event) {
            document.querySelector('#myvideo').pause();
            event.preventDefault();
            $(this).parent().addClass("current");
            $(this).parent().siblings().removeClass("current");
            var tab = $(this).attr("href");
            $(".tab-content").not(tab).css("display", "none");
            $(tab).fadeIn();
          });
         });
    

    这里我引入了一条线,当我点击另一个标签时暂停第一个视频 (#myvideo)。我可以使用多个 ID 吗?

    【讨论】:

      【解决方案3】:

      点击标签时,您会暂停所有标签的所有 3 个视频 ,然后启动属于实际选项卡的视频。 类似的东西:

      //set click event handler to whenever a tab is clicked
      $('.tab-content').on('click' , function(){
          //stop all video on page
          $.each( $('.video'), function( key, value ) {
              $(this)[0].pause();
          });
      
          //start the video belonging to the tab that was clicked.
          $(this).find('video')[0].play();
      });
      

      【讨论】:

      • 听起来像但不起作用。选项卡菜单进入 iframe(另一个 html),我认为这是一个问题......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 2019-10-29
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多