JS中文檔碎片的理解和使用


1、我們要明白當js操作dom時發生了什么?   

       每次對dom的操作都會觸發"重排"(重新渲染界面,發生重繪或回流),這嚴重影響到能耗,一般通常采取的做法是盡可能的減少 dom操作來減少"重排"        

2、什么是文檔碎片?    document.createDocumentFragment()    一個容器,用於暫時存放創建的dom元素      

3、文檔碎片有什么用?    將需要添加的大量元素  先添加到文檔碎片中,再將文檔碎片添加到需要插入的位置,大大 減少dom操作,提高性能(IE和火狐比較明顯)
      比如需要往頁面上放100個元素:
     普通方式:(操作了100次dom)         

for(var i=100; i>0; i--){ 
    var elem = document.createElement('div');
    document.body.appendChild(elem);//放到body中
}

     文檔碎片:(操作1次dom)         

 var df = document.createDocumentFragment();          
 for(var i=100; i>0; i--){              
      var elem = document.createElement('div');                             
      df.appendChild(elem);
 }         
 //最后放入到頁面上         
document.body.appendChild(df);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM