首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在IE7中更改DHTML后强制回流?

如何在IE7中更改DHTML后强制回流?
EN

Stack Overflow用户
提问于 2009-11-10 01:12:36
回答 1查看 8.4K关注 0票数 17

我有一个页面,用户可以动态添加文件上传框。添加这些框会改变它们所在的div的高度,但它下面的div的某些元素会保留在相同的位置,因此它们开始与新的DOM元素重叠。

这在IE8,火狐,Chrome中都能正常工作。如何强制IE7使用新的动态超文本标记语言回流页面?

我想出的最好的解决方案是:

代码语言:javascript
复制
window.resizeBy(1, 0); 
setTimeout(UndoResize, 0);

但它不适用于最大化窗口(它会恢复窗口)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-10 01:25:20

尝试:

代码语言:javascript
复制
element.className = element.className;

在修改后的div上(或者可能是它的父级,甚至是更远的祖先,这取决于各种因素,比如相对定位的容纳)。

className被赋值时,IE将回流并重新绘制页面的该部分,以防影响该元素的CSS发生更改。幸运的是,它没有被优化来检查className的值是否与它之前的值实际发生了变化,所以上面的操作将触发回流而不会破坏其他任何东西。

我确实发现有一次这个修复了IE6但破坏了IE7,但是尝试一下,看看它是否适用于您。

票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1702399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档