vue中使用虚拟滚动加载

  • 👨🏻‍🎓博主介绍:大家好,我是尼克.张,热爱分享知识,很高兴在这里认识大家🌟
  • 🌈擅长领域:前端开发
  • 🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
  • 🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!

虚拟滚动加载是使一定数量的dom可见,这样就能减少dom节点,当页面滚动时动态的加载可见dom,所以虽然你看见的节点都不一样,但其实就只有你看到的就那么几个。
在这里插入图片描述

1.要想容器里有滚动条出现,条件是外面的内容的高度低于里面的内容的高度,这是个先决条件。

2.假如容器的总高度为400px,放了10个元素,每个元素40px,假如总共有10000条数据,那么这些元素的总高度为(40 * 10000)px。

3.进行滚动事件的判断,首先获取滚动的距离e.target.scrollTop,因为每个元素40px,所以可以计算出滚动到哪个元素了,start = 距离/40;有了开始的元素,那么怎么算结尾的元素呢?因为每次展示有limit限制,所以end = start + limit,最后运用数组的slice动态截取元素。

4.看似做完了,当你滚动到了某个位置,然而那个位置却是空白???
在这里插入图片描述

原因是自己忘记让元素改变位置,滚动后元素的translateY应为你滚动的距离。

<div id="app" @scroll="handleScroll">
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值