Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当html5视频离开视口时,如何暂停它?_Jquery_Css_Html_Video_Viewport - Fatal编程技术网

Jquery 当html5视频离开视口时,如何暂停它?

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 现在我的代码如下:

现在我有点为难了,因为一个平滑滚动的单页网站有一个“简介”部分(#简介)作为第一个包含“视频”的部分

该视频是一个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>