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

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

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

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

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

$("#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

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

this指向

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000}es5 中 this指向该函数被调用的对象es6 中箭头函数的this指向是定义时的对象...

代理事件绑定

代理事件绑定

 代理绑定事件通用绑定事件的函数...

HTTP协议类

HTTP协议类

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

js 判断数组,对象

arr=[1,2,3,4]; obj={a:'aaa'}; console.log(arr.constructor===Object) //false arr instanceof Array //true Object.prototype.toString.call(...

防抖和节流

如果我在一个时间内只执行一次,最好用防抖,如果只是想在执行时,设置一下间隔时间那么用节流 防抖是在一个时间内只能执行一次,如果频繁操作就会清除重新开始计算执行,我设置的时间内整个过程中只会执行一次/* 函数的防抖 debounce,不是某个事件触发就去执行函数,而是在指定的时间间隔内执行...

js 宏任务和微任务

js 宏任务和微任务

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