Jquery 当html5视频离开视口时,如何暂停它?
现在我有点为难了,因为一个平滑滚动的单页网站有一个“简介”部分(#简介)作为第一个包含“视频”的部分 该视频是一个html5视频,在循环和自动播放中,位于一个名为“intro heading”的div容器中(最初包含一个h1标题,但它已被编辑并替换为视频内容heh) 我应该指出,名为intro heading的div容器包含id为#intro video的视频,它应用了“growIn”类,是的,伙计们,我正在使用Daniel Eden的“获奖”Animate.css库lol 现在我的代码如下:Jquery 当html5视频离开视口时,如何暂停它?,jquery,css,html,video,viewport,Jquery,Css,Html,Video,Viewport,现在我有点为难了,因为一个平滑滚动的单页网站有一个“简介”部分(#简介)作为第一个包含“视频”的部分 该视频是一个html5视频,在循环和自动播放中,位于一个名为“intro heading”的div容器中(最初包含一个h1标题,但它已被编辑并替换为视频内容heh) 我应该指出,名为intro heading的div容器包含id为#intro video的视频,它应用了“growIn”类,是的,伙计们,我正在使用Daniel Eden的“获奖”Animate.css库lol 现在我的代码如下:
<script>
$(document).ready(function(){
$(window).scroll(function(){
var x = $(document).scrollTop();
console.log(x); /* just for observing how far from the top i am..*/
if ($(document).scrollTop() > 750) {
$('#intro-video').pause();
}
});
});
</script>
然后视频当然消失了,但我仍然能听到音乐:))
显然,这不是我想要的。我只想在视频离开视口时暂停视频(我想,我们听不到任何音频,这正是我所需要的),然后在我们向上滚动视频并重新进入视口时恢复(再次播放)
上面的代码不起作用,但当我使用css显示行之类的其他代码时,它就起作用了。还有一件事我想问,请原谅,如果我问你这个问题离解决这个问题还有一百万英里之遥——但是有没有一个名为isInViewport.js的库,可以让这个很容易实现?在视口外暂停视频-回到视口内播放视频
这个插件能让我实现即时通讯的目标吗
在此阶段的任何帮助都将受到极大的感谢。谢谢。:-) 好的,白帽,谢谢你,伙计,你给我指明了正确的方向。看来我已经实现了我所追求的目标。因此:
<script>
$(document).ready(function(){
$(window).scroll(function(){
var x = $(document).scrollTop();
console.log(x);
if ($(document).scrollTop() > 750) {
$('#intro-video').get(0).pause();
}
else if ($(document).scrollTop() < 650 ) {
$('#intro-video').get(0).play();
}
});
});
</script>
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
var x=$(document.scrollTop();
控制台日志(x);
如果($(文档).scrollTop()>750){
$(“#介绍视频”).get(0.pause();
}
else if($(文档).scrollTop()<650){
$(“#介绍视频”).get(0.play();
}
});
});
这很好地完成了工作,谢谢:)
pause
或play
需要在dom元素上调用,而不是jquery对象——可能是我怀疑的重复。谢谢白帽子。
<script>
$(document).ready(function(){
$(window).scroll(function(){
var x = $(document).scrollTop();
console.log(x);
if ($(document).scrollTop() > 750) {
$('#intro-video').get(0).pause();
}
else if ($(document).scrollTop() < 650 ) {
$('#intro-video').get(0).play();
}
});
});
</script>