当滚动开始时暂停html5视频
pause html5 video when scrolling starts
我最近在我自己的公司网站上添加了一个html5视频。imbeeld.nl
现在我想让视频在人们开始滚动页面时暂停。
我知道这可以通过添加一些JS来完成,但我对此很陌生。
document.getElementById('myvideotag').pause();
我已经制作了一些脚本,用于在滚动开始时替换视频的CSS类:
$(document).on("scroll",function(){
if($(document).scrollLeft()>1)
{$("#frontvideo").removeClass("front_cover").addClass("front_cover_hide");}
else{$("#frontvideo").removeClass("front_cover_hide").addClass("front_cover");}
});
如何结合两个JS部分和暂停视频时滚动开始?
谢谢!
把它们组合在一起有什么问题?如果你想在任意滚动时暂停视频:
$(document).on("scroll",function(){
document.getElementById('myvideotag').pause();
if($(document).scrollLeft()>1{
$("#frontvideo").removeClass("front_cover").addClass("front_cover_hide");
}
else{
$("#frontvideo").removeClass("front_cover_hide").addClass("front_cover");
}
});
可以通过变量
定义var video = document.getElementById("myvideotag");
然后你可以使用暂停比如当滚动开始
video.pause();
试试这个代码
$(document).ready(function(){
$(document).on("scroll",function(){
var sc = $("body").prop('scrollLeft')
var scv= $("#myvideotag").offset().Left;
if(scv < sc)
{
$("#frontvideo").removeClass("front_cover").addClass("front_cover_hide");
}
else{
$("#frontvideo").removeClass("front_cover_hide").addClass("front_cover");
}
});
});
如果您想要实现的是在用户向左滚动时隐藏和暂停视频,这里有一个来自wikimedia的视频示例片段。
顺便说一句,你可以使用$('#myvideotag')[0]
从jQuery中提取一个DOM对象。
$(document).ready(function(){
$('#myvideotag')[0].play();
});
$(document).on("scroll",function(){
if($(document).scrollLeft()>1)
{
$("#frontvideo").removeClass("front_cover").addClass("front_cover_hide");
$('#myvideotag')[0].pause();
}
else
{
$("#frontvideo").removeClass("front_cover_hide").addClass("front_cover");
$('#myvideotag')[0].play();
}
});
html, body
{
width: 110%;
height: 100%;
}
#frontvideo
{
position: absolute;
top: 0;
height: 0;
width: 110%;
height: 100%;
background: white;
text-align: center;
padding-top: 100px;
}
.front_cover
{
opacity: 0;
}
.front_cover_hide
{
opacity: 0.9;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<video id="myvideotag" width="400" controls>
<source src="https://upload.wikimedia.org/wikipedia/commons/transcoded/4/4d/Wikipedia_Edit_2014.webm/Wikipedia_Edit_2014.webm.480p.webm" type="video/mp4">
Your browser does not support HTML5 video.
</video>
<div id="frontvideo" class="front_cover">I'M THE COVER</div>
希望有帮助!
成功了!这招很管用:抱歉,布局不好
$(document).ready(function(){
$('#frontvideo')[0].play();
});
$(document).on("scroll",function(){
if($(document).scrollLeft()>1){
$('#frontvideo')[0].pause();
}
else
{
$('#frontvideo')[0].play();
}
});
相关文章:
- 如何检查用户在html5视频播放器中观看了完整的视频
- html5视频中的Youtube类型注释
- 强制浏览器更新缓存的HTML5视频对象
- 可以使用带有json回调的html5视频标签
- html5视频播放器和视频js之间的关系
- 隐藏HTML5视频控件
- 用链接替换嵌入的HTML5视频
- HTML5视频链接在Chrome中不起作用
- 用angular js在屏幕上点击播放和暂停html5视频
- 使用Javascript播放HTML5视频
- 自定义HTML5视频控件-退出按钮不会启动全屏切换功能
- ReactJS:如何使用react正确播放带有onClick事件的html5视频
- html5视频将黑框(空)绘制到画布上
- 资源管理器9上的html5视频缓存
- 如何检查html5视频是否有足够的缓冲,以便在不停止缓冲的情况下播放
- html5视频交互式视频播放器
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 如何从某个时间开始预加载HTML5视频
- 寻找HTML5视频是否需要加载整个文件
- 如何在HTML5视频中获得寻找事件的起点