DOM的重繪和重排

爲什麼操作DOM速度慢

瀏覽器中JavaScript和DOM分開執行
Chrome中Js由V8引擎執行,DOM由Webkit內核的WebCore渲染
Safari中Js由JavaScriptCore渲染,DOM由Webkit內核的WebCore渲染

迴流一定重繪,重繪不一定迴流

迴流

瀏覽器流式佈局,DOM節點樹形結構,一個節點改變,整個DOM結構重新計算,引發迴流。
觸發條件

  • 首次渲染
  • 改變DOM節點
  • style樣式的變化,元素位置,元素大小
  • 頁面大小,resize()事件
  • 激活一些僞類(:hover)

重繪

元素改變不影響其位置(顏色、字體)

減少重繪

  • DOM的操作不放在循環中
  • style樣式改成class,改變class即可,只會重繪一次
  • 動畫HTML的position儘量設成fixdabsolute
  • 不使用table
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章