jQuery在大量测量高度时出错?

jQuery在大量测量高度时出错?,jquery,height,outerheight,Jquery,Height,Outerheight,我已经“解决”了我遇到的问题,但它仍然很奇怪,而且解决方法很粗糙。在我的网站上,我的页面有时有几千像素大,比如 我将元素设置为文档总高度的一部分。但是当文档非常大时,计算中似乎存在一些错误 以下是相关代码: var bodyH = $(document).height(), headerH = $('header').outerHeight(), footerH = $('footer').outerHeight(), zptH = 220, linksBalk

我已经“解决”了我遇到的问题,但它仍然很奇怪,而且解决方法很粗糙。在我的网站上,我的页面有时有几千像素大,比如 我将元素设置为文档总高度的一部分。但是当文档非常大时,计算中似乎存在一些错误

以下是相关代码:

var bodyH = $(document).height(), 
    headerH = $('header').outerHeight(),
    footerH = $('footer').outerHeight(),
    zptH = 220,
    linksBalkenNweH = bodyH - (headerH + footerH + zptH);
    rechtsNweH = bodyH - (headerH + footerH);


if ((bodyH - (headerH + footerH)) > 1810) {
    $('.linksBalkenBuiten').height(linksBalkenNweH);
    $('.linksBalkenMiddenRechts').height(linksBalkenNweH);  
    $('.balkenRechts').find('img').height(rechtsNweH);
} 
因此,如果一切顺利,相关元素的底部应该对齐。但事实并非如此;调整后的元素的底部对齐,但不与名为tagNav的元素对齐,该元素以这种老套的方式解决(也会弄乱设计)

最有可能的是,jQuery不是我的错,而是我的代码,但我看不到我的代码有任何问题,这是非常直截了当的

//
编辑:好的,原来我的解决方案并没有解决我所有页面上的问题。这让我回到了最初的问题:jquery怎么能如此公然地错误测量高度?看看这个屏幕的底部:根据jquery,“zoek per tag”元素的垂直偏移是4767,而tag nav的垂直偏移是4757。然而,它们显然相距甚远。

我觉得你的演示看起来正确吗?那页上到底是什么问题?什么在显示它不应该在哪里?谢谢。正如我所说,如果头寸不相等,我通过增加一个保证金上限来“解决”这个问题。因此,在.tagNav元素上获得大约10个像素的边距。现在这是可行的,但1)它打乱了设计2)这是一个黑客,而不是一个解决方案,谜团依然存在。高度是以一种非常简单的方式设置的,但由于某些原因,像素不知从何处出现,当我查看其他页面时,它显然与总长度成比例。
var zptPos = $('[title="Zoek per Tag"]').position().top,
    tagNavPos = $('.tagNav').position().top;

if (zptPos != tagNavPos) {
    $('.tagNav').css({'margin-top': '' + zptPos - tagNavPos + 'px'});
}