日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript 减少回流

發布時間:2023/11/30 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript 减少回流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

減少回流(REFLOWS)

  當瀏覽器重新渲染文檔中的元素時需要?重新計算它們的位置和幾何形狀,我們稱之為回流。回流會阻塞用戶在瀏覽器中的操作,因此理解提升回流時間是非常有幫助的。

回流時間圖表

  你應該批量地觸發回流或重繪,但是要節制地使用這些方法。盡量不處理DOM也很重要。可以使用DocumentFragment,一個輕量級的文檔對象。你可以把它作為一種方法來提取文檔樹的一部分,或創建一個新的文檔“片段”。與其不斷地添加DOM節點,不如使用文檔片段后只執行一次DOM插入操作,以避免過多的回流。

  例如,我們寫一個函數給一個元素添加20個div。如果只是簡單地每次append一個div到元素中,這會觸發20次回流。

function addDivs(element) {var div;for (var i = 0; i < 20; i ++) {div = document.createElement('div');div.innerHTML = 'Heya!';element.appendChild(div);} }

  要解決這個問題,可以使用DocumentFragment來代替,我們可以每次添加一個新的div到里面。完成后將DocumentFragment添加到DOM中只會觸發一次回流。

function addDivs(element) {var div;// Creates a new empty DocumentFragment.var fragment = document.createDocumentFragment();for (var i = 0; i < 20; i ++) {div = document.createElement('a');div.innerHTML = 'Heya!';fragment.appendChild(div);}element.appendChild(fragment); }

?

轉載于:https://www.cnblogs.com/zys8119/p/5600302.html

總結

以上是生活随笔為你收集整理的javascript 减少回流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。