Jquery 仅在滚动到视图中时播放视频
在滚动页面的这一侧,第三页和第四页/面板上有一个视频。我希望第三个面板中的视频仅在面板显示后开始播放。我有以下使用jquery.appeage插件的代码 但是我不能让它工作。下面是我正在尝试的。有人能帮忙吗Jquery 仅在滚动到视图中时播放视频,jquery,video,html5-video,Jquery,Video,Html5 Video,在滚动页面的这一侧,第三页和第四页/面板上有一个视频。我希望第三个面板中的视频仅在面板显示后开始播放。我有以下使用jquery.appeage插件的代码 但是我不能让它工作。下面是我正在尝试的。有人能帮忙吗 <div id="item3" class="item"> <!--video fills page section --> <div class="fullscre
<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语句的代码,但也不起作用。这最终对我起到了作用-再次感谢你对此的关注,这很有帮助