亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么時候在DOM環境中發生再流?

什么時候在DOM環境中發生再流?

慕慕森 2019-07-11 20:56:27
什么時候在DOM環境中發生再流?什么類型的活動會觸發Web頁面的DOM再流?似乎有不同的觀點。根據http:/www.nczonline.net/blog/2009/02/03/速度-您的javascript-第4部分/,發生了添加或刪除DOM節點時。當您動態地應用樣式時(例如元素、樣式、寬度=“10 px”)。當您檢索必須計算的度量時,例如訪問偏移寬度、clientHight或任何計算出來的CSS值(通過兼容DOM的瀏覽器中的getComputedStyle或IE中的CurentStyle)。然而,根據http:/dev.opera.com/ports/view/Efficient-javascript/?page=3,只有在已排隊的再流操作時,才采取測量觸發器的再流。還有人有什么想法嗎?
查看完整描述

3 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

兩篇文章都是正確的。可以安全地假設,每當您在做可能合理需要的事情時,就可以計算DOM中元素的維數,從而觸發再流。

另外,據我所知,兩篇文章都說了同樣的話。

第一篇文章指出,在以下情況下會發生再流:

當你檢索必須計算的度量值。,例如訪問偏移寬度客戶高度,或任何計算出來的CSS值(通過getComputedStyle()在兼容DOM的瀏覽器或IE中的CurentStyle中,而DOM更改則排隊等待進行。

第二條規定:

如前所述,瀏覽器可能會為您緩存幾個更改,并且在所有這些更改都已完成時,只會再流一次。但是,請注意測量這個元素會迫使它重新流動。,以便測量結果是正確的。這些變化可能被或可能不會被明顯地重新描繪,但回流本身仍然必須發生在幕后。

此效果是在使用以下屬性進行測量時創建的偏移寬度,或者使用類似的方法getComputedStyle..即使沒有使用這些數字,只要在瀏覽器仍在緩存更改時使用這些數字,就足以觸發隱藏的再流。如果這些測量是反復進行的,您應該考慮只進行一次測量,并存儲結果,然后可以在以后使用。

我認為這和他們之前說的一樣。Opera將盡力緩存值,并避免為您重新流,但您不應該依賴它的能力這樣做。

對于所有的意圖和目的,只要相信他們都說的話,當他們說這三種類型的互動可以導致回流。

干杯。


查看完整回答
反對 回復 2019-07-11
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

查看“屬性讀取訪問觸發的呈現”部分。理解InternetExplorer呈現行為,其中IE中的以下代碼將導致呈現活動。

function askforHeight () {
  $("#lower").height();  }


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 420 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號