優化性能

一、Dom操作


1.使用fragment批量處理dom元素然后添加到頁面中

2.在進行dom操作前隱藏dom元素 操作完畢后 進行顯示 這樣僅只重繪兩次

3.把需要進行dom操作的元素克隆進行處理然后替換頁面上的元素 僅進行一次重繪渲染

var old=document.querySeletor(class)

var clone=old.cloneNode(true);

old.parentNode.replace(clone,old);

進行獲取dom屬性時 如果存在復用 切記進行緩存 不要重復的獲取某個元素的屬性


二、Dom動畫


給有動畫效果的元素設定絕對定位脫離文檔流,

避免頁面頻繁重繪 動畫僅影響自身重繪渲染


三、優化連續獲取Dom布局信息操作


當獲取元素的布局信息時頁面會強制重新渲染,

但是瀏覽器會優化連續的dom操作,

所以當需要獲取大量的dom布局信息或者進行大量的dom操作時,

盡可能的把獲取布局信息代碼提前放在一起,便可只進行一次重排


四、使用事件委托


如果給大量元素綁定了事件則會占用比較大內存,

導致開銷比較巨大,則建議給每個父元素綁定事件,

通過事件冒泡的形式給子元素委托事件

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評論 25 708
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 1. 基本原理 向更大的世界邁出第一步。 1.1 render()函數 一般來說,要盡可能少地在 render 函...
    cbw100閱讀 5,023評論 0 15
  • 作為一個高三的學生,我很不幸的無法去瞧瞧外面的世界,只能每天往返于學校和家,兩點一線,生活被枯燥和單調填滿。我煩惱...
    蘇屹明閱讀 356評論 0 0
  • 我差點忘記我是一個有血有肉的人。 很長一段時間以來,碰到事情第一想到的是怎樣解決,解決不了應該怎樣善后。 已經很久...
    羥羊閱讀 195評論 0 0