最近做的一个需求,当列表大概有5万条数据,又不让做成分页,如果页面直接渲染5万条数据,在一些低配电脑上可能会照成页面卡死,基于这个需求,研究分析前端渲染卡顿原因,准备手写一个虚拟列表。 1.实现思路 列表中固定只显示少量的数据,比如60条 在列表滚动的时候不断的去插入删除dom ...
temple部分 js部分 样式 总结 总结: 思路很简单: 一 拿到所有数据应该占用的高度。比如 万条数据,每条占 px,占用高度应为 万 二 拿到展示区域的高度,比如我想展示 条数据,展示高度即为 三 拿到屏幕滚动的距离,用滚动的距离 行高,获取当前第一行应该展示对应数据的下标值,比如滚动了 px,当前展示的第一条数据的下标应为 四 截取需要展示的数据:this.testData.slice ...
2021-03-05 11:08 2 1474 推荐指数:
最近做的一个需求,当列表大概有5万条数据,又不让做成分页,如果页面直接渲染5万条数据,在一些低配电脑上可能会照成页面卡死,基于这个需求,研究分析前端渲染卡顿原因,准备手写一个虚拟列表。 1.实现思路 列表中固定只显示少量的数据,比如60条 在列表滚动的时候不断的去插入删除dom ...
最近做的一个需求,当列表大概有2万条数据,又不让做成分页,如果页面直接渲染2万条数据,在一些低配电脑上可能会照成页面卡死,基于这个需求,我们来手写一个虚拟列表 思路 列表中固定只显示少量的数据,比如60条 在列表滚动的时候不断的去插入删除dom startIndex ...
window.requestAnimationFrame()告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在 ...
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败。。。。 debug调试发现var excel拼接的table字符串,超出了var的长度限制;幸好网上有前辈的解决方案~~~膜拜 ...
转自:http://blog.sina.com.cn/s/blog_4deb16580100i87e.html 前面文章说采集了很多数据,要存入mysql数据库。之所以选择mysql数据库,原因只不过是mysql很方便安装应用范围也广,又小,也挺好用。呵呵 我仍然在csdn询问,http ...
主页面文件html Scrollbar.js文件 ...
原理:渲染大数据时,合理使用createDocumentFragment和requestAnimationFrame,将操作切分为一小段一小段执行。 documentFragment: 是一个虚拟的Dom列表,可以储存待处理的xml片段(el元素),因为他不在真实的Dom ...
最近做项目时候,被select的下拉提示搞烦了,破服务器响应速度贼慢,而下拉的数据又狂多,9k多行用dynamicAjax分析,发现性能慢就慢在不断的select.options的for遍历循环上索性不使用数组循环的方法跑suggest,改用字典算法https://github.com ...