Javascript 当用户滚动到html5时,我如何开始播放我的视频?

Javascript 当用户滚动到html5时,我如何开始播放我的视频?,javascript,html,video,Javascript,Html,Video,我正在创建一个网页,那里有一个mp4视频: <video class="video--app" id="myVideo" autoplay="" muted="" preload="auto"> <source src="./img/video.mp4" type="video/mp4"> </video> 这几乎正常,视频在1.5秒后开始播放。但我想改变它,当它第一次出现在屏幕上时开始播放视频——基本上是当用户滚动到它时。你能给我一些提示吗?我应该

我正在创建一个网页,那里有一个mp4视频:

<video class="video--app" id="myVideo" autoplay="" muted="" preload="auto">
    <source src="./img/video.mp4" type="video/mp4">
</video>
这几乎正常,视频在1.5秒后开始播放。但我想改变它,当它第一次出现在屏幕上时开始播放视频——基本上是当用户滚动到它时。你能给我一些提示吗?我应该如何修改我的JS代码来实现这一点?
谢谢

您可以包括jQuery,使您的生活更轻松。 我的建议是根据这篇文章改编的:


您可以包括jQuery以使您的生活更轻松。 我的建议是根据这篇文章改编的:

具有检查图元是否在视图中的功能:

function isScrolledIntoView(el) {
    var elemTop = el.getBoundingClientRect().top;
    var elemBottom = el.getBoundingClientRect().bottom;

    var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
    return isVisible;
}
具有检查图元是否在视图中的功能:

function isScrolledIntoView(el) {
    var elemTop = el.getBoundingClientRect().top;
    var elemBottom = el.getBoundingClientRect().bottom;

    var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
    return isVisible;
}

使用Jquery实现易用性。使用滚动功能,当用户滚动到您的视频时,它将触发视频播放

$(window).scroll(function(){
    var wScroll = $(this).scrollTop();
    if(wScroll > $('#myVideo').offset().top - ($(window).height() / 1.2)) {
        $('#myVideo').get(0).play()
    }
});
记住在HTML中添加jquery库

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>

使用Jquery实现易用性。使用滚动功能,当用户滚动到您的视频时,它将触发视频播放

$(window).scroll(function(){
    var wScroll = $(this).scrollTop();
    if(wScroll > $('#myVideo').offset().top - ($(window).height() / 1.2)) {
        $('#myVideo').get(0).play()
    }
});
记住在HTML中添加jquery库

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>


@Derek朕會功夫, 你同意我的观点还是在挖苦我?就我个人而言,我厌倦了键入“document.getElementById”@Derek朕會功夫,哈哈哈,刚刚看到你的链接-太棒了!在我看来,我不觉得厌倦键入是包含整个jQuery库的正当理由,特别是当
document.querySelectorAll
已经提供了一个性能更好的本机实现时。是的,这是一个非常有趣的链接,我总是喜欢与大家分享。@Derek朕會功夫, 你同意我的观点还是在挖苦我?就我个人而言,我厌倦了键入“document.getElementById”@Derek朕會功夫,哈哈哈,刚刚看到你的链接-太棒了!在我看来,我不觉得厌倦键入是包含整个jQuery库的正当理由,尤其是
文档。querySelectorAll
已经提供了一个性能更好的本机实现。是的,这是一个非常有趣的链接,我总是喜欢分享。谢谢,这几乎对我有用!这里还有一个问题-有没有办法只播放一次视频,然后根本不播放它?@user3766930编辑了我的回答谢谢,这几乎对我有用!这里还有一个问题-有没有办法只播放一次视频,然后根本不播放它?@user3766930编辑了我的答案