【发布时间】:2017-06-15 15:52:39
【问题描述】:
我有一个包含多个循环视频的 div。为了提高性能,我暂停了视频,直到它们使用以下代码滚动到视口中:
jQuery(window).on("load resize scroll",function(e){
if (jQuery('#vid-container').visible(true)) {
start_vid();
} else {
jQuery('iframe[id*="fitvid0"]').each(function () {
$f(this).api('pause');
});
}
});
});
function start_vid(){
jQuery('iframe[id*="fitvid0"]').each(function () {
$f(this).api('setVolume', 0);
$f(this).api('play');
});
}
这可行,但由于每个视频 iframe 具有相同的 ID,因此一旦 #vid-container 进入视野,它们就会同时开始播放。
我正在尝试找出一种方法,我可以单独定位每个 vid Iframe,这样它们就可以在滚动进入视图时开始一个一个地播放不是同时。。 p>
类似:
if (jQuery('#vid-container child2, #vid-container child3, #vid-container child4, #vid-container child5').visible(true)) {
start_vid();
}
希望这是有道理的......谢谢
ps im 使用 jquery.visible 插件和 vimeo api
【问题讨论】:
-
ID 应该是唯一的,每个视频 iframe 上的 ID 不能相同。
-
选择器
$("#vid-container")将只匹配具有该 ID 的第一个元素,而不是所有元素。它开始播放所有这些的原因是因为start_vid()中的循环会启动它们,而不仅仅是可见的。 -
这就是我试图解决的问题。 ID 是由 wordpress 插件生成的
标签: jquery html target children