【javascript】clientHeight,offsetHeight,scrollHeight,scrollTop的理解,以及触底函数

1、clientHeight
含义:元素的像素高度,包含元素的高度+内边距,不包含水平滚动条,边框和外边距

图示:
请添加图片描述
2、offsetHeight
含义:元素的像素高度 包含元素的垂直内边距和边框,水平滚动条的高度,且是一个整数

图示:
请添加图片描述

3、scrollHeight
含义:元素内容的高度,包括溢出的不可见内容

图示:
请添加图片描述
4、 scrollTop
含义:元素滚动到屏幕上面不可见区域高度

通常使用 clientHeight+ scrollTop >= scrollHeight 来判断是否触底。

window.addEventListener("scroll", ()=>{
	let scrollTop = document.documentElement.scrollTop;
	let clientHeight = document.documentElement.clientHeight ;
	let scrollHeight= document.documentElement.scrollHeight;
	// console.log("距离顶部高度", scrollTop);
	// console.log("可视区域高度", clientHeight );
	// console.log("滚动高度高度", scrollHeight);
	if(scrollTop + clientHeight + 50 > scrollHeight){
	            // 距离底部50开始加载
	            if(!this.shakeStatus){
	                this.shakeStatus = true;
	                setTimeout(()=>{
		        		if(this.shakeStatus){
					       this.shakeStatus = false;
					   	}
			        }, 3000)
	                if(this.getEarningsValue.total > this.earningsLists.length){
	                    this.getEarningsValue.page++
	                    this.getEarningsDetail()
	                }
	            }
	   }else{
	       if(this.shakeStatus){
	           this.shakeStatus = false;
	       }
	   }
	})
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值