首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >播放视频问题一次卷轴?

播放视频问题一次卷轴?
EN

Stack Overflow用户
提问于 2016-08-06 19:32:38
回答 1查看 641关注 0票数 1

如果到达卷轴上的#user-experience部分,我将使用以下代码播放视频:

JS:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<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部分时,代码才会触发一次。当滚动到另一个部分和背面时,视频不应该第二次播放。

我该怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-06 19:36:44

是像这样吗?

代码语言:javascript
复制
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();
    }

});

一个简单的布尔标志似乎满足了您的行为要求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38808041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档