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'});
}