获取$(document)时如何排除隐藏div的高度.height();

时间:2013-09-30 16:08:32

标签: javascript jquery html css

我有一个问题,jQuery错误地计算了我正在处理的页面底部的空间。这可能是由于页面上隐藏的div层。

有没有一种方法可以让jQuery计算页面的“真实”高度,如浏览器中所示?到目前为止,这是我的代码:

var doc_height = $(document).height();
var footerHeight = $('.footer-wrapper').height();
var main_body_height = doc_height - footerHeight;
$("div.wrapper-holder").height(main_body_height);

这个确切的代码似乎在网站的其他页面上运行正常,有没有人知道这个页面上可能导致问题的原因?

以下是问题的屏幕截图:

Screenshot

指向真实网页的链接位于:http://www.upreach.org.uk/undergraduates/partners.php

非常感谢您提供任何帮助......

1 个答案:

答案 0 :(得分:4)

尝试在$(window).on('load')上再次运行您的代码 - 您的计算可能会因为在$(document).ready()被触发时未加载图片而感到不安。

更好的解决方案 - 并且不需要您等待的解决方案 - 是为每个图像添加height属性。 (目前您只设置width属性。)这将产生相同的结果:无论是否加载图像,jQuery都能够准确计算整个文档的高度。