今天遇到一个问题,js做一个选项卡效果,加载进来是没事,切换显示隐藏的时候,框的样式就乱了,后来在网上搜到一篇文章,内容如下:
利用调试工具在JS修改结构的容器上修改任意属性为任意值,甚至空白均可修复此bug;
甚至有时候一打开调试工具的瞬间问题就解决了,无法定位到出问题的元素。
目前还没有找到这个问题的根源,大致应该是一个浏览器渲染顺序的问题,JS修改数据的DOM部分的样式可能是它的父级容器或者祖先容器的几个样式叠加的结果。而IE6/IE7并没能重新计算改变的部分的样式与其祖先的关系,所以导致错误。
解决方法:
js修改后,再后面加一句,有点影响性能
document.body.className = document.body.className;
原文章地址为
http://higrid.net/c-art-ie6_reflow_bug_solutions.htm
本文探讨了在使用JavaScript实现选项卡功能时遇到的样式问题,指出可能的原因是浏览器渲染顺序的问题,并提供了通过修改body className来解决此问题的方法。详细解释了在特定情况下,IE6/IE7浏览器未能正确计算样式变化及其与祖先元素关系的原因,以及通过简单代码片段可以修复这一bug的过程。
1137

被折叠的 条评论
为什么被折叠?



