HTML5视频播放一旦滚动进入视图
HTML5 Video play once scrolled into view.
我有一些全屏视频背景,我想在它们滚动到视图中后播放。
我用于视频运行的代码如下。
<video id="video_background" preload="false" autoplay="false" loop="loop" volume="0"> <source src="video.webm" type="video/webm"> <source src="video.mp4" type="video/mp4"> Video not supported </video>
全屏效果很好,视频播放,我对它的外观很满意,但我有几个问题。
即使在我所处的位置,视频也没有考虑到autoplay="false"属性。页面一加载就立即播放。
当该部分滚动到视图中时,有人能告诉我播放html5视频的正确方向吗?我对每一位都使用了如下部分。
<div class="container"><video id="video_background" preload="false" autoplay="false" loop="loop" volume="0"> <source src="video.webm" type="video/webm"> <source src="video.mp4" type="video/mp4"> Video not supported </video></div></section>
当某个部分滚动到视图中时,我找不到任何可以启动该部分的内容。
有什么想法吗?
根据w3schools.com,如果您想要autoplay
,则必须对autoplay
进行编码,如果您不想要autoplay
,则忽略。
要知道某个元素何时出现在视口中,您可以使用jquery.appear
插件:
$('someselector').on('appear', function(event, $all_appeared_elements) {
// this element is now inside browser viewport: play video
});
$('someselector').on('disappear', function(event, $all_disappeared_elements) {
// this element is now outside browser viewpor: Pause/stop video?
});
如果你不想使用这个jQuery插件,在这个StackOverflow问题中,可以接受的答案是:
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
相关文章:
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- 取消选择滚动启动时的所有列表视图项目
- 列表视图在Android上滚动断断续续且缓慢
- 如何在ng视图中进行页面渲染后的平滑滚动
- kenodui树视图滚动到节点问题
- 页面滚动时加载角度视图和控制器太慢
- 在jquery中滚动动态列表视图
- 如何计算另一个元素上滚动速度的乘数,使它们同时到达终点(视图顶部)
- iOS jquery滚动视图插件不会在iframe上滚动y
- 用Javascript将焦点设置在select元素上会将第一个项目滚动到视图之外
- 如何在按下next时自动将滚动视图设置为页面顶部
- 视图中的滚动事件未触发(主干.js)
- 如何为模式窗口中呈现的部分视图添加滚动条
- 自动滚动到Appcelerator中的视图末尾
- asp.net 网格视图在用户控件中的网格视图时滚动到视图
- jQuery 航点在元素滚动到视图中时添加类
- 创建一个滚动条一个ext js数据视图
- Div 使用滚动视图插件进行整理
- 钛 - 安卓:滚动视图滚动位置问题
- 数据视图滚动问题sencha触摸