当前位置:首页 > javascript > 正文内容

如何通过滚动页面控制视频播放和停止

自由小鸟7年前 (2018-06-18)javascript2967

我们除了需要获取用户当前滚动页面距离顶部的距离,还需要获取当前窗口的高度,每个视频距离文档顶部的距离,获取到这几数据才能做处理。”

如果一屏不同时出现两个视频,我们一般选择视频上部完全进入窗口,和视频下部刚刚移出窗口两个边界作为播放视频的区域!”

$("#video1").offset().top-$(document).scrollTop()>0
就可以看作视频顶部完全进入屏幕,
window.innerHeight-(topnum1+$("#video1").height())>0
可以看作视频下部没有移出屏幕,所以我使用了一下jquery的scroll(窗口滚动事件),
在页面滚动过程中进行实时判断:
$(document).scroll(){
 var topnum1=$('#video1').offset().top-$(document).scrollTop();
 var bottomnum1=window.innerHeight-(topnum1+$('#video1').height());
 if(topnum1>0 && bottomnum1>0){
  $(#videmo1 video).play();
 }else{
  $('#video1 video').pause();
 }
 var topnum2=$('#video2').offset().top-$(document).scollTop();
 var bottomnum2=window.onnerHeight-(topnum2+$('#video2').height());
 if(){
  $('#video2 video').play();
 }else{
  $('#video2 video').pause();
 }
}


版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://webge.net/?id=4

“如何通过滚动页面控制视频播放和停止” 的相关文章

DOM事件

1,事件级别    DOM0-dom.onclick=fun    DOM2-dom.addEventListener('click',fun,false)    ...

HTTP协议类

HTTP协议类

HTTP协议的主要特点    1,简单快速,每个资源是固定的,通过固定url就可以了    2,灵活  head有数据类型,一个HTTP协议可以完成不同数据类型的传输    3,无连接&nb...

js原型链

js原型链

创建对象有几种方法:原型,构造函数,实例,原型链左边 实例对象  instanceof 构造函数  来判断是不是同一个引用原型用constructor 比instanceof来判断继承更严谨var o3=new M()o3 instanceof  M  &nb...

数组有哪些原生方法

赋值方法:pop 和 push   pop // 删除数组最后一个元素,返回被删除的元素push // 在数组尾部插入1-N个元素,返回操作后数组的lengthshift     //  删除数组第一个元素,返回被删除的元素uns...

数组去重

var a=[1,3,4,5,6,1,3,9,6]; //代码是去重后的 function arrfn(data){ let newObj={}; for(let i=0;i<data.length;i++...

最全的js运行机制

最全的js运行机制

主线程Event Queue:(微任务,宏任务) 1,主线程执行完后2,到Event Queue里找,先执行微任务,再宏任务...