【发布时间】:2019-07-26 07:01:51
【问题描述】:
我正在使用 jQuery 插件 isInViewport jQuery isInViewport 来控制两个视频在一个页面上滚动进出视图后的播放和暂停。
我能够让它工作的唯一方法是使用两个 if 语句明确检查每个视频 ID。
以下作品:
$(window).scroll(function() {
if ( $("video#one").is( ':in-viewport')) {
$("video#one")[0].play();
} else {
$("video#one")[0].pause();
}
if ( $("video#two").is( ':in-viewport')) {
$("video#two")[0].play();
} else {
$("video#two")[0].pause();
}
});
但是,这是低效的。我可能会在路上添加更多视频。每次换视频都得调整 JS 是没有意义的。
这就是我想要的。但是,一旦将视频 1 滚动到视图中,它也会触发第二个视频(不在屏幕上)开始播放。
$(window).scroll(function() {
$("video").each(function() {
if ( $("video").is( ':in-viewport')) {
$("video")[0].play();
} else {
$("video")[0].pause();
}
});
});
如何调整每个功能以在一页上播放和暂停我的视频,无论有多少?
【问题讨论】:
标签: javascript jquery video