美文网首页
js 无限列表infinityList

js 无限列表infinityList

作者: 鹏雨燕 | 来源:发表于2020-05-14 12:06 被阅读0次
    1. 新闻类app,或者现在流行的视频app,用户需要无感知上下拉取无限资源
    2. 100万条数据怎么加载到页面上,考虑加载,性能等
          // 插入十万条数据
          const total = 100000
          // 一次插入 * 条,如果觉得性能不好就减少
          const once = 200
          // 渲染数据总共需要几次
          const loopCount = total / once
          let countOfRender = 0
          const looptimer = setTimeout(() => {
    
          let ul = document.getElementById("ntp-contents");
          function add() {
            // 优化性能,插入不会造成回流
          const fragment = document.createElement('li');
            for (let i = 0; i < once; i++) {
              const li = document.createElement("li");
              //   li.innerText = Math.floor(Math.random() * total);
              li.innerText = `这里是第 ${countOfRender} 次的 li ${i}`;
              fragment.appendChild(li);
            }
            ul.appendChild(fragment);
            countOfRender += 1;
            loop();
          }
          function loop() {
            if (countOfRender < loopCount) {
              window.requestAnimationFrame(add);
            }else{
            clearInterval(looptimer)
          }
          }
          loop();
        }, 0);
    

    常见的大量数据加载策略,分段加载,但是整个页面元素还是太多,滑动会引起卡顿

    相关文章

      网友评论

          本文标题:js 无限列表infinityList

          本文链接:https://www.haomeiwen.com/subject/oxaznhtx.html