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

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

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

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

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

$("#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://www.webge.net/?id=4

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

js类型转换

js类型转换

数据类型: 原始类型:        Boolean Null Undefined Number String Symbol     显示类型转换: ...

函数参数会生成新的作用域

函数参数会生成新的作用域

如果函数定义了参数就会自动生成新的作用域,这时候里面的变量值就会先从参数新的作用域找,如果没有就会再往上面找直到全局...

event-loop

event-loop

如果知道js运行机制,在工作中会帮助我们更好的理解和编写代码,也知道为什么js是单线程js为什么是单线程原因,就是为了避免DOM渲染的冲突异步是一种“无奈”的解决方案,虽然有很多问题,如下:1,没按照书写方式执行,可读性差2,callback中不容易模块化什么是event-loop1,同步代码,直接...

最全的js运行机制

最全的js运行机制

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

js原型链

js原型链

看到好的文章赶紧都收藏起来,但是有时收藏的太多内存不够呀,还是记录到我的博客上比较好,有时好的文章突然的某天就打不开了,那是多少痛的领悟,哈哈 文章转自 https://juejin.im/post/5d31ea79e51d457778117452...

IOS软键盘收起留白问题及Input光标过长问题

1.Input光标过长问题iso 中input 光标长度与line-height有关,input本身字体就是上下居中的因此不需要设置,但如果想控制光标的长度可以通过设置line-height高度来控制; 2.IOS软键盘收起留白 1.可以通过输入框失去焦点 <div class=&quo...