我有一个包含多个视频的侧边栏,现在用户可以播放和暂停他想要的任何视频,但是当某个视频正在播放而用户又播放另一个视频时,两个视频都在播放,
现在我想要当一个视频正在播放而用户播放另一个视频时,它应该停止当前正在播放的视频。
这是现场演示: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();
}
});
要使它正常工作,我需要更改什么?
答案 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();
});