问题:在H5中,咱们有这样的需求:例若有列表的时候,滚动到底部时,须要加载更多。网站
解决方案:能够采用window的滚动事件进行处理事件
分析:若是滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度element
代码实现:get
监听滚动到底部滚动底部.div2{ io
width:100px;console
height:100px;function
border:1px solid red容器
}兼容性
*{ cli
margin:0
}
.button1:active{
background:red
}
body{
height:375px;
width:667px;
border:1px solid red
}
.div1{
height:600px;
width:100%;
background:red
}
.div2{
height:600px;
width:100%;
background:green
}
.div3{
height:600px;
width:100%;
background:blue
}
.div4{
height:600px;
width:100%;
background:yellow
}
window.onload = function(){
//获取容器父元素
var div0 = document.getElementsByClassName('div0')[0];
//height 计算属性的高度
var height = parseInt((window.getComputedStyle(div0, null).height).replace('px', ''));
console.log(height,"div0的计算高度")
window.onscroll = function(){
/*
scrollTop 为滚动条顶端距离界面右上角的距离,这里采用了兼容性写法
*/
let scrollTop = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
//+-5是为了保证必定的弹性,并不是要恰好相等才出发,
if(height-5<=scrollTop+clientHeight&&scrollTop+clientHeight<=height+5){
console.log('监听成功','到达底部')
}
}
}
代码的相关说明:不少时候,列表加载,咱们不可以把装载子元素的父容器高度设死,此时采用style设置为auto时,element.style.height也会等于auto ,建议采用clientHeight或者利用计算样式getComputedStyle计算高度
总结
以上所述是小编给你们介绍的解决HTML5中滚动到底部的事件问题,但愿对你们有所帮助,若是你们有任何疑问请给我留言,小编会及时回复你们的。在此也很是感谢你们对脚本之家网站的支持!
若是你以为本文对你有帮助,欢迎转载,烦请注明出处,谢谢!