我已经解决了'我遇到的问题,但它仍然很奇怪,解决方案是hacky。在我的网站上,我的网页有时会有几千像素,例如http://rodelynx.nl/judas-priest-redeemer-of-souls-missen-we-k-k-downing/ 我将元素设置为文档总高度的一部分。但是当文档非常大时,计算中似乎存在一些错误。
这是相关代码:
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的元素,它以这种hacky方式解决(也搞乱了设计)。
var zptPos = $('[title="Zoek per Tag"]').position().top,
tagNavPos = $('.tagNav').position().top;
if (zptPos != tagNavPos) {
$('.tagNav').css({'margin-top': '' + zptPos - tagNavPos + 'px'});
}
最有可能jQuery没有错,但是我的代码,但我发现我的代码没有问题,这很简单。
// 编辑:好的,所以事实证明我的解决方案没有在我的所有页面上解决问题。这让我回到原来的问题:jquery怎么能如此公然地误测高度呢?看一下这个屏幕的底部:http://rodelynx.nl/video-fotos-en-verslag-van-demo-kampbewoners-osdorp-koekamp-2/根据jquery,每个标签的' zoek的垂直偏移量为'元素是4767,标签导航的垂直偏移是4757.然而它们显然比那更远。