「前端进阶」高性能渲染十万条数据(时间分片),linux虚拟机使用教程

本文探讨了前端高性能渲染大量数据时遇到的闪屏问题,分析了setTimeout的不足,并介绍了如何使用requestAnimationFrame进行分批渲染,以提高页面流畅性。同时提到了DocumentFragment作为优化手段,以减少DOM操作带来的性能影响。
摘要由CSDN通过智能技术生成

使用定时器


从上面的例子,我们已经知道,页面的卡顿是由于同时渲染大量DOM所引起的,所以我们考虑将渲染过程分批进行

在这里,我们使用setTimeout来实现分批渲染

    复制代码

    //需要插入的容器

    let ul = document.getElementById(‘container’);

    // 插入十万条数据

    let total = 100000;

    // 一次插入 20 条

    let once = 20;

    //总页数

    let page = total/once

    //每条记录的索引

    let index = 0;

    //循环加载数据

    function loop(curTotal,curIndex){

    if(curTotal <= 0){

    return false;

    }

    //每页多少条

    let pageCount = Math.min(curTotal , once);

    setTimeout(()=>{

    for(let i = 0; i < pageCount; i++){

    let li = document.createElement(‘li’);

    li.innerText = curIndex + i + ’ : ’ + ~~(Math.random() * total)

    ul.appendChild(li)

    }

    loop(curTotal - pageCount,curIndex &#

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值