用户播放另一个视频时停止当前视频播放吗?

时间:2019-07-09 08:46:27

标签: javascript jquery html video

我有一个包含多个视频的侧边栏,现在用户可以播放和暂停他想要的任何视频,但是当某个视频正在播放而用户又播放另一个视频时,两个视频都在播放,

现在我想要当一个视频正在播放而用户播放另一个视频时,它应该停止当前正在播放的视频。

这是现场演示:Live demo

这是暂停播放视频的功能

 $(".playpause").on('click', function(){

                    var videotag = $(this).parent().find("video")[0];
                    if(videotag.paused==true) {
                            $(this).parent().find("video")[0].play();
                            $(this).css("opacity", 0)
                            $(videotag).on('ended',function(){
                                    $('.playpause').css("opacity", 1);
                            });


                    } else if(videotag.paused==false) {
                            $(this).parent().find("video")[0].pause();
                            $(this).css("opacity", 1)
                            $('.playpause').show();
                    }

            });

要使它正常工作,我需要更改什么?

2 个答案:

答案 0 :(得分:2)

当视频开始播放时,您可以选择所有其他视频并在它们上调用class Calc: def __init__(self): #2 underscores on each side 方法。另请注意,您可以通过缓存选择器并一次定义pause()事件来整理逻辑。 ended也是多余的,因为else if只有两个状态。试试这个:

paused

答案 1 :(得分:0)

您可以暂停所有个视频,然后开始点击的视频:

$(".playpause").on('click', function() {

  // PAUSE EVERY SINGLE VIDEO IN .sidebar
  $('.sidebar video').each( function(index, element) {
    $(element).parent().find("video")[0].pause();
  });

  // PLAY THE VIDEO WHICH WAS CLICKED
  $(this).parent().find("video")[0].play();

});