React 判断滚动到底部

html

 <div ref={e => (this.scroll = e)}></div>

js

  componentDidMount() {
     if (this.scroll) {
      this.scroll.addEventListener("scroll", e => {
        const { clientHeight, scrollHeight, scrollTop } = e.target;
        // const { clientHeight, scrollHeight, scrollTop } = this.scroll;

        const isBottom = scrollTop + clientHeight + 20 > scrollHeight;
        console.log(scrollTop, clientHeight, scrollHeight, isBottom);
      });
    }
  }

isBottom为true时滚动到底部,此时+20代表离底部20像素之内就判断为滚动到底部,继续加载数据

其他获取方式

 const { clientHeight, scrollHeight, scrollTop } = this.scroll;

clientHeight 可视区域高度 (固定的)

scrollHeight 内容总高度 (固定的)

scrollTop 滚动条滚动的高度 (变化的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值