循环里逐个 appendChild 会触发多次重排。
先建 DocumentFragment,往它上面挂节点。
挂完一次 append 到容器,只重排一次。
表格、列表这类批量渲染用它最快。
节点多的话再配合 requestAnimationFrame 分片。
// 一次性插入 5000 个节点,只触发一次重排
const frag = document.createDocumentFragment();
for (let i = 0; i < 5000; i++) {
const li = document.createElement('li');
li.textContent = '第 ' + i + ' 行';
frag.appendChild(li);
}
list.appendChild(frag);
THE END






暂无评论内容