滚动播放一次视频有问题吗
Issue with play video once on scroll?
如果滚动到#user-experience
部分,我使用以下代码播放视频:
JS:
var player = $('video');
function isInView(elem){
return $(elem).offset().top - $(window).scrollTop() < $(elem).height();
}
$(window).scroll(function() {
if (isInView($('#user-experience'))) {
// console.log('play video');
player.get(0).play();
}
});
HTML:
<video>
<source src="images/browser.webm" type="video/webm">
<source src="images/browser.mp4" type="video/mp4">
Your browser does not support HTML5 video.
</video>
该代码的问题是,每当用户滚动一点时,它就会触发脚本,直到该部分在浏览器视口中不可见为止。如果用户滚动到#user-experience
部分,则代码应该只触发一次。当滚动到另一个部分并返回时,视频不应第二次播放。
我该如何解决这个问题?
这样?
var player = $('video');
var hasReachedUserExperience = false;
function isInView(elem){
return $(elem).offset().top - $(window).scrollTop() < $(elem).height();
}
$(window).scroll(function() {
if (isInView($('#user-experience')) && !hasReachedUserExperience) {
hasReachedUserExperience = true;
player.get(0).play();
}
});
一个简单的布尔标志似乎可以满足您的行为要求。
相关文章:
- Javascript返回值只在循环中返回一次
- 滚动播放视频,但只能播放一次
- 视频.JS - 一次在确切时间触发多个事件
- 在iPad 2上播放一次后,视频海报消失
- 在 html 页面上一次播放一个视频
- Chrome 确实会加载一次视频文件,但不会加载两次
- 视频在更改源时闪烁一次
- html5视频的时间更新事件多久触发一次
- HTML5视频自动播放/播放一次
- 通过AJAX一次加载两个视频
- HTML5 -视频播放时每隔几秒触发一次事件
- 混合应用程序使用phoneGap录制视频,每10分钟分裂一次
- 我怎么能使一个html视频播放一次,直到页面重新加载
- HTML5-只加载一次视频,但在两个不同的标签中使用
- Cookie显示视频一次
- 播放HTML5视频时,滚动到,然后播放,直到完成,只播放一次
- 我如何上传一个文件(图像,视频,文档)使用PHP或Javascript一次上传
- 播放视频时滚动到,但播放视频一次
- 滚动播放一次视频有问题吗
- Cookie自动播放<视频>每次访问仅一次