显示:IE8中关于DOM解析的无错误



在IE8中需要帮助。

我的代码中有许多具有属性"display:none"样式的div

<div>
     <div id=div1 style="display:none">
        ....some lines of code....
     </div>
     <div id=div2 style="display:none">
        ....some lines of code....
     </div>
     <div id=div3 style="display:none">
        ....some lines of code....
     </div>
     <div id=div4 style="display:none">
        ....some lines of code....
     </div>
</div> //outer div

在 jquery 代码中,div 根据条件使用显示和隐藏动态显示。

一个div 的高度(例如)div1 = 100px其中作为另一个div 的高度(例如)div4 = 1000px

问题是, 当页面加载时,显示最低高度的div1 100px 以及使用显示功能显示其他div 时。它们与页脚重叠。

如果外部div 的高度设置为最大divs 高度,即 1000px,那么当显示其他div 时,页面会变得不必要地长。

即使外部divs 最大高度设置为 1000px,它也不会动态更改并且会发生重叠。

调整窗口大小会动态更改高度。但是当其他选项卡打开时,窗口大小的调整不起作用。此外,窗口大小的最小变化也不足以消除重叠。

尝试将显示:无更改为可见性:隐藏,但页面对于最小高度div来说不必要地长。

这只发生在IE8中,不知道其版本下面的浏览器。在IE9,chrome和Mozilla中完美运行。

最后我

找到了答案,

而不是调整窗口大小,在显示/隐藏后添加代码

//Javascript
document.body.className = document.body.className;
//Jquery
$('body')[0].className = $('body')[0].className;

工作正常

谢谢。

最新更新