提公升效能 文件碎片

2021-07-09 09:26:18 字數 631 閱讀 8212

概念性解釋:dom規定,文件碎片(document fragment)是一種「輕量級」的文件,不會像完整的文件那樣占用額外的資源。我們叫他documentfragment節點,nodetype值為11,

而我們用文件碎片可以提公升dom操作的效能。看看下面的例子就知道。

id="u">

ul>

var u = document.getelementbyid('u');

for(var i = 0; i < 10; i++)

我們用這樣的方法很快就得到了效果,但是仔細審視,發現我們對dom操作的10次,不斷的向 ul 建立 li ,就引發了10次dom「重繪重排」,這樣也是我們不願意看到的,太消耗時間了

var u = document.getelementbyid('u');

var dfrag = document.createdocumentfragment();

for(var i = 0; i < 10; i++)

我們先建立乙個文件碎片節點dfrag,然後我們將以後建立好的li全部都新增到dfrag裡面,最後在把dfrag新增到 ul 中,這個時候我們就只引發了一次dom「重繪重排」,效能就提公升了。

js效能優化篇建立文件碎片

大家都知道,大量的操作dom會引起頁面的渲染變慢,文件碎片是指乙個臨時的文件,把建立的dom放到文件裡面,不要每次操作都操作dom,提高頁面的效率。下面我們就來看一下如何運用建立文件碎片。首先,我們了解下向頁面建立dom發生了什麼。for var i 0 i 5000 i 如果我們向以上 一樣,向頁...

dom操作之文件碎片

在日常的工作中,避免不了我們要想乙個元素中插入大量的動態元素,比如 在頁面中有乙個ul,我們隨著頁面的某乙個事件的觸發,需要向 box中插入大量的li,正常的寫法為 var oul document.queryselectorall box 0 for var i 0 i 1000 i var fr...

dom操作之文件碎片

在日常的工作中,避免不了我們要想乙個元素中插入大量的動態元素,比如 在頁面中有乙個ul,我們隨著頁面的某乙個事件的觸發,需要向 box中插入大量的li,正常的寫法為 var oul document.queryselectorall box 0 for var i 0 i 1000 i var fr...