Javascript 当用户滚动到html5时,我如何开始播放我的视频?
我正在创建一个网页,那里有一个mp4视频: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秒后开始播放。但我想改变它,当它第一次出现在屏幕上时开始播放视频——基本上是当用户滚动到它时。你能给我一些提示吗?我应该
<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编辑了我的答案