2012-06-07 31 views
1

首先,玩導航菜單此頁面(左側)上: http://bestds.com/TankStorage/Chrome有錯誤 - window.scroll方法攔截DOM渲染

我使用javascipt的更新對這些li元素的DOM的backgroundColor單擊。

Firefox呈現更新的DOM元素,但Chrom和Chromium不呈現它們。

使用Chromium的文檔檢查器,我可以清楚地看到li元素的背景顏色已被正確更新,但它們沒有被渲染。有趣的是,在將我的光標懸停在Chrom文檔檢查器中的無格式html元素上後,它會繼續並呈現DOM更改!

我該如何解決這個問題?

+0

你爲什麼不使用CSS? – davin

回答

1

我想通了。 Chrom有渲染錯誤。

如果您在更新某些DOM屬性後立即調用窗口滾動函數,則Chrom將不會完全呈現所有DOM修改。

要解決這個問題,我替換此行:

window.scroll(0,docPos); 

這一行:

setTimeout('window.scroll(0,' + docPos + ')',1); 

這給CHROM呈現窗口滾動渲染錯誤之前的DOM變化的能力可以阻止它。

+0

你有一個錯誤的鏈接? – zengr

+0

我通過Chrom的幫助菜單提交了該錯誤,但該方法沒有爲您提供跟蹤鏈接。 –

+0

這真的很煩人,但浪費了大約25分鐘的時間試圖調試它。 – apscience