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

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

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

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

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

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

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

js类型转换

js类型转换

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

数组去重

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 宏任务和微任务

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

SSO单点登陆

1、单点登录实现原理1)登录 注意:1)跳转SSO验证登录时,需要使用sendDirect重定向;2)浏览器与SSO之间建立的会话成为全局会话。扩展:a.spring项目如何获取本机的IP地址? 获得仅为ip地址不带端口b.spring项目如何获取项目端口? 2)注销 SSO认证中心有一个全...

判断是否是微信浏览器

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

数据各种去重复,合并方法

1,数组对象去重通过id function reduce(arr) { var obj = {}; arr = arr.reduce(function (item, next) { obj[next.id] ? "" : (obj[next.id] = t...