js修改dom結構或樣式時出錯ie8下

今天遇到一個問題,js做一個選項卡效果,加載進來是沒事,切換顯示隱藏的時候,框的樣式就亂了,後來在網上搜到一篇文章,內容如下:



利用調試工具在JS修改結構的容器上修改任意屬性爲任意值,甚至空白均可修復此bug;

甚至有時候一打開調試工具的瞬間問題就解決了,無法定位到出問題的元素。

目前還沒有找到這個問題的根源,大致應該是一個瀏覽器渲染順序的問題,JS修改數據的DOM部分的樣式可能是它的父級容器或者祖先容器的幾個樣式疊加的結果。而IE6/IE7並沒能重新計算改變的部分的樣式與其祖先的關係,所以導致錯誤。


解決方法:

js修改後,再後面加一句,有點影響性能


document.body.className = document.body.className;

原文章地址爲
http://higrid.net/c-art-ie6_reflow_bug_solutions.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章