Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 仅在滚动到视图中时播放视频_Jquery_Video_Html5 Video - Fatal编程技术网

Jquery 仅在滚动到视图中时播放视频

Jquery 仅在滚动到视图中时播放视频,jquery,video,html5-video,Jquery,Video,Html5 Video,在滚动页面的这一侧,第三页和第四页/面板上有一个视频。我希望第三个面板中的视频仅在面板显示后开始播放。我有以下使用jquery.appeage插件的代码 但是我不能让它工作。下面是我正在尝试的。有人能帮忙吗 <div id="item3" class="item"> <!--video fills page section --> <div class="fullscre

在滚动页面的这一侧,第三页和第四页/面板上有一个视频。我希望第三个面板中的视频仅在面板显示后开始播放。我有以下使用jquery.appeage插件的代码

但是我不能让它工作。下面是我正在尝试的。有人能帮忙吗

    <div id="item3" class="item">                   

            <!--video fills page section -->
            <div class="fullscreen-bg">
                <video id="vid-P" muted poster="img/bg-dynamically.jpg" class="fullscreen-bg__video  video-powder">
                    <source src="img/PowderPuff.mp4" type="video/mp4">
                </video>
            </div>                                             

        </div>
    </div>
    <!--end-->

    <script type="text/javascript" src="js/jquery.appear.js"></script>

    <script>

        var myVideo = document.getElementById('vid-P');

    //when div with id item3 is in view play video
   $('#item3').on('appear', function(event, $all_appeared_elements) {


        if (appear) {
              // element is now visible in the viewport
             $("#item3").on('appear', myVideo.play);
            } else {
              // element has gone out of viewport
             $("#item3").on('disappear', myVideo.pause);
            }
  });


    </script>

var myVideo=document.getElementById('vid-P');
//当id为item3的div在视图中时,播放视频
$('#item3')。在('出现')上,函数(事件,$所有出现的元素){
如果(出现){
//元素现在在视口中可见
$(“#item3”)。在('出现',myVideo.play);
}否则{
//元素已离开视口
$(“#item3”)。在('消失',myVideo.pause)上;
}
});

您没有在代码中的任何位置定义
显示
,因此
如果(显示){
将失败,因为您的条件
显示=未定义

您可以使用
出现
消失
事件:

 $('#item3').on('appear', myVideo.play)
            .on('disappear', myVideo.pause);

您没有在代码中的任何位置定义
出现
,因此
如果(出现){
将失败,因为您的条件
出现=未定义

您可以使用
出现
消失
事件:

 $('#item3').on('appear', myVideo.play)
            .on('disappear', myVideo.pause);

这个网站上显示的方法对我的作用与上面的类似,但这对我来说是直接起作用的

    var myVideo = document.getElementById('myVideo');

    VisSense.VisMon.Builder(VisSense(myVideo, { fullyvisible: 0.75 }))
    .on('fullyvisible', function(monitor) {
      myVideo.play();
    })
    .on('hidden', function(monitor) {
      myVideo.pause();

    })
    .build()
    .start();


这个网站上显示的方法对我的效果与上面的类似,但这对我来说很有效

    var myVideo = document.getElementById('myVideo');

    VisSense.VisMon.Builder(VisSense(myVideo, { fullyvisible: 0.75 }))
    .on('fullyvisible', function(monitor) {
      myVideo.play();
    })
    .on('hidden', function(monitor) {
      myVideo.pause();

    })
    .build()
    .start();


我相信正确的用法是
$(“#item3”)。在('embeen',myVideo.play)
$(“#item3”)。在('embel',myVideo.pause)
感谢您的关注,我非常感谢!我尝试了您的想法(类似于下面的建议),两者都还没有对我起作用,希望我很接近。我已经根据你们两人的建议更新了上面的脚本。你能看到我仍然出错的地方吗?我已经开始工作,但最终还是采用了这里显示的方法-再次感谢你的关注。我相信正确的用法是
$(“#item3”)。on('execute',myVideo.play)
$(“#item3”)。在('demouse',myVideo.pause)
上感谢您对此的关注,我非常感谢!我尝试了您的想法(类似于下面的建议),两者都还没有为我工作,希望我很接近。我已经根据你们的建议更新了上面的脚本。你能看到我仍然错在哪里吗?我已经努力工作,但最终还是采用了这里显示的方法-再次感谢你的关注。你好,谢谢你帮我看这个,我很感激!我已经完成了你的工作根据我认为你的意思对以上内容进行了更新,但它仍然不起作用。我现在拥有的是你的意思吗?我也尝试了你的代码,但没有使用if/else语句,但也不起作用。这最终对我起到了作用-再次感谢你对这一点的关注,这对我很有帮助,谢谢你为我查看这一点,我很感激e it!我已经根据我认为你的意思更新了上面的内容,但它仍然不起作用。我现在所做的是你的意思吗?我也尝试了没有if/else语句的代码,但也不起作用。这最终对我起到了作用-再次感谢你对此的关注,这很有帮助