JavaScript文檔碎片操作實(shí)例分析
本文實(shí)例分析了JavaScript文檔碎片操作方法。分享給大家供大家參考,具體如下:
使用文檔碎片在某些情況下可以提高頁面效率。
javascript操作dom是一個(gè)很耗性能的過程,在某些情況下,不得不進(jìn)行dom循環(huán)操作,我們每次對(duì)dom的操作都會(huì)觸發(fā)"重排",這嚴(yán)重影響到能耗,一般通常采取的做法是盡可能的減少dom操作來減少"重排"。
面對(duì)循環(huán)操作dom的過程,我們選擇使用文檔碎片(creatDocumentFragment),將需要添加到dom中的內(nèi)容一次性添加到文檔碎片中,然后將文檔碎片添加到dom樹,這樣就可以有效的減少操作dom的次數(shù)。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>文檔碎片</title> <meta name="Keywords" content=""> <meta name="author" content="@my_programmer"> </head> <body> <script> var temp = document.createDocumentFragment();//文檔碎片(當(dāng)把文檔碎片付給某節(jié)點(diǎn)時(shí),只是把文檔碎片中的子節(jié)點(diǎn)付給了某節(jié)點(diǎn),它本身并沒有插入到這個(gè)節(jié)點(diǎn)中) for (var i=0; i<100; i++) { var test =document.createElement('div');//創(chuàng)建一個(gè)節(jié)點(diǎn) test.innerHTML = 'aaa' + i;//給節(jié)點(diǎn)添加內(nèi)容 temp.appendChild(test);//把創(chuàng)建的節(jié)點(diǎn)插入到temp文檔中 } document.body.appendChild(temp);//把temp文檔插入到body末尾 </script> </body> </html>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
js+css3實(shí)現(xiàn)旋轉(zhuǎn)效果
本文主要介紹了js+css3實(shí)現(xiàn)旋轉(zhuǎn)效果的方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01JavaScript編寫一個(gè)簡(jiǎn)易購物車功能
這篇文章主要為大家詳細(xì)介紹了JavaScript簡(jiǎn)易購物車功能的編寫代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09解析微信JS-SDK配置授權(quán),實(shí)現(xiàn)分享接口
這篇文章是微信開發(fā)的很多前置條件,包括了服務(wù)端基于JAVA的獲取和緩存全局的access_token,獲取和緩存全局的jsapi_ticket,以及前端配置授權(quán)組件封裝,調(diào)用分享組件封裝。需要的朋友可以看下2016-12-12Flexible.js可伸縮布局實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Flexible.js可伸縮布局實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11JavaScript實(shí)現(xiàn)table切換的插件封裝
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)table切換的插件封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10