2012-06-07 32 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