Chrome Bug - window.scroll方法拦截DOM渲染

时间:2012-06-07 00:39:44

标签: javascript dom google-chrome rendering chromium

首先,使用此页面上的导航菜单(左侧): http://bestds.com/TankStorage/

我正在使用javascipt在点击后更新这些li元素的dom backgroundColor。

Firefox渲染更新的DOM元素,但Chrom和Chromium不渲染它们。

使用Chromium的文档检查器,我可以清楚地看到li元素的背景颜色已经正确更新,但它们没有被渲染。有趣的是,在我将光标悬停在Chrom文档检查器中未呈现的html元素上之后,它会继续呈现DOM更改!

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我明白了。 Chrom有渲染错误。

如果您在更新某些DOM属性后立即调用窗口滚动函数,则Chrom将无法完全呈现所有DOM修改。

要解决此问题,我将替换此行:

window.scroll(0,docPos);

这一行:

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

这使得Chrom能够在窗口滚动渲染错误停止之前呈现dom更改。