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

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

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

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

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

$("#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 面向对象类

类与实例:    类的声明    生成实例类与继承    如何实现继承    继承的几种方式原型链实现继承new child2.__prot...

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

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

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

js 宏任务和微任务

js 宏任务和微任务

首先讲粗略说一下宏任务和微任务宏任务:script(整体代码), setTimeout, setInterval微任务包括: Promise, MutationObserver(html5新特性),process.nextTick。 代码从上至下在执行过程,遇到Promise,new Promi...

js原型链

js原型链

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

js cookie实现在一天内只执行一次

function versionExpireTime(key,method) { var v = getCookie(key); if (!v) { method(true); //外面传进来的callback,方便告诉外部是否过期 //获取...

判断是否是微信浏览器

//判断是否为 微信浏览器 // function is_weixn(){ // if(ua.match(/MicroMessenger/i)=="micromessenger") { // return tr...