html+监听+页面滚动到底部,解决HTML5中滚动到底部的事件问题

问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多。

解决方案:可以采用window的滚动事件进行处理

分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度

代码实现:

监听滚动到底部滚动底部

.div2{

width:100px;

height:100px;

border:1px solid red

}

*{

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中滚动到底部的事件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值