Javascript Internet Explorer 6的jQuery height()问题

Javascript Internet Explorer 6的jQuery height()问题,javascript,jquery,internet-explorer,height,containers,Javascript,Jquery,Internet Explorer,Height,Containers,我正在使用jquery1.3.2 在Internet Explorer 6中获取正确的“高度”时遇到问题。高度值在所有其他浏览器中都是正确的 我也在用 每次加载浏览器时,我都会启动一个方法,根据浏览器尺寸调整div、iframe的大小。(这是有充分理由的。) IE 6中返回的$('body').height()值似乎在每次调整浏览器大小后都会增加10个像素 还有人遇到过这样的事情吗 var iframeH = 0, h = 0, groupH = 0, adjust = 0; var tabl

我正在使用jquery1.3.2

在Internet Explorer 6中获取正确的“高度”时遇到问题。高度值在所有其他浏览器中都是正确的

我也在用

每次加载浏览器时,我都会启动一个方法,根据浏览器尺寸调整div、iframe的大小。(这是有充分理由的。)

IE 6中返回的$('body').height()值似乎在每次调整浏览器大小后都会增加10个像素

还有人遇到过这样的事情吗

var iframeH = 0, h = 0, groupH = 0, adjust = 0;

var tableH = $("#" + gridId + "_DXHeaderTable").parent().height();
var pagerH = $(".dxgvPagerBottomPanel").height();
var groupHeight = $(".dxgvGroupPanel").height();

if (pagerH == null)
    pagerH = 0;

if (groupHeight != null)
    groupH = groupHeight + pagerH;

iframeH = $('body').height();
h = (iframeH - (tableH + pagerH + groupH));

$('#' + gridId + "Panel").css("height", (h + "px"));
$("#" + gridId + "_DXMainTable").parent().css("height", (h + "px"));
此代码用于设置DevExpress网格在其父容器中的高度。忽略以下事实:代码可能会更好。:)

除了“身体”之外,还有什么东西可以让我得到一个正确的尺寸吗?我尝试了window对象($(window.height()),但似乎没有多大帮助


任何想法都很感激

当然,这里有几个想法:

对于IE,尤其是旧版IE,我喜欢在高度渲染函数周围添加一个1-10ms的setTimeout语句——这给dom和IE一个“放松”的机会

另外,确保你们的东西在页面上是可见的——为此,你们可能需要使用绝对位置暂时把东西从屏幕上扔下来,然后再次在屏幕上显示它们


另一件事是身高有时是不稳定的。尝试使用.css('height')来检索高度[它也更快],并删除“px”,以获得有时更真实的测量值。

您面临的问题更可能是css渲染差异。由于浮动问题、填充和页边距渲染在浏览器之间存在差异

尝试获取$(“body”).innerHeight()$(“body”).outerHeight()并在不同的浏览器中进行比较,您将得到一些常见的结果。在最坏的情况下,您可能需要运行一些
if
cases

,或者使用一个for jQuery,它为您提供了更多的工作空间,并且是跨浏览器的


我使用这个插件是为了从一个可拖放到一个可拖放,就像我所展示的那样。核武器。谢谢你的快速反应!尝试你的一些想法。我会回复你的。我想维度插件现在已经添加到jQuery中了。是吗?我不知道,Remy(jQueryForDesigners)不得不用它做一次演示,而且它不是jQuery的一部分。。。我不能确定这是否正确,因为jQuery中有很多维度方法不可用。
$('body').height(); // call this first

iframeH = $('body').height(); //then try this