页面滚动到最下方时候触发事件的实现(scrollHeight、clientHeight、scrollTop 的使用)

本文详细解析了如何使用JavaScript监听页面滚动,并判断页面是否已滚动到底部,通过比较scrollHeight、clientHeight和scrollTop三个关键属性,实现底部事件触发。

先直接上代码,解释在内容下方。

window.onscroll = function() {
                var a =document.documentElement.clientHeight;
                var b = document.documentElement.scrollTop;
                var c = document.documentElement.scrollHeight;
                if(b != 0) {
                    if(a + b  >= c ) {
                        event(); //到底部则,执行event事件
                    } else {
                        show(); //未到底部的时候,执行show事件
                    }
                }
            }

function event() {
              //此处是event事件
            }

function show() {
              //此处是show事件
            }

解释:判断页面是否到底部,可以理解为scrollHeight、clientHeight、scrollTop三个值的判断。

1、scrollHeight

内容高度 可滚动内容高度。想象成页面整体的高度。

2、scrollTop

网页卷起来的高度(网页向上移动过程中,跑上去看不见的部分)。

滑动条距离滚动条顶部的距离,向下滑动过程中,你向上滑动的距离。

3.clientHeight:

实践取出来的值大多是视窗大小。屏幕高度。

想象为你屏幕的高度,展现在屏幕的高度。

是不是有点听不懂。看不懂看图。

滑动条距离滚动条顶部的高度加上屏幕的可视高度加上超过的高度大于可滚动内容高度时即执行数据请求和数据加载

上面这句话不理解就记住clientHeight +.scrollTop 与 scrollHeight 做比较就基本可以了。

图片内容参考链接为: https://www.jianshu.com/p/c59b2ccc963c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值