div中使用懒加载的相关问题

前言

写项目的时候发现需要这么一个功能,需要给树懒加载上节点,我也不清楚我这方法是不是正经的懒加载,但是效果跟我见过的图片的懒加载差不多,俺寻思着应该就是了

其实要搞懒加载主要要解决几个问题

一、滚动条的容器是什么,也就是说这个滚动条我们是要监控全页面的,还是页面中某一个div中的滚动条,写法会有些不一样

二、怎么计算最后的位置,即使得不管滚动条距离如何加长,最后滚动条都是运行到最下面的时候再加载下一部分数据。(最后据我实践所得,在chrome浏览器中,给到的滚动条运行数据不像是像素,有点像像素x10)

三、解决滚动条在底部反复横跳导致的多次加载问题

问题一
//#号后面是div的id,据我多次测试,true应该是必须的,移除是会报错的(removeEventListener),所以我就没写移除
  mounted() {
    document.querySelector('#xxxx').addEventListener('scroll', this.handleScroll, true);
  },
问题二
	  //div的高度
	  let divHeight = document.querySelector("#xxxx").clientHeight;
	  //滚动内部区域的高度
      let scrollHeight = document.querySelector("#xxxx").scrollHeight;
      //滚动条滚动的高度
      let scrollTop = document.querySelector("#xxxx").scrollTop;
      //所以假如我想每次滚动条都是到最后小于20的高度时加载下一波数据,那么方法就是
      if(scrollHeight-divHeight-scrollTop<20){
      	console.log(1);
      }
问题三

这个问题比较好解决,加个标记,只有上次请求回来了,再改变标记就可以

附注

记得加载过程加上提示,会更友好一些

相信还有些别的问题会遇到,比如一次请求多少条之类的,但这些与文章主题无关,就不再赘述了

效果图

在这里插入图片描述

后语

写文章也是一件耗费心力的事啊,怪不得我之前会停更这么久,还是摸鱼舒服
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值