我使用$(document).height()
在块上设置height
CSS属性。这是Safari 5.1.10(OSX 10.6.8)的解决方法,因为vh
单位(视口高度)在此版本上不起作用。
(function() {
if(!Modernizr.cssvhunit) $("#sidebar").css("height", $(document).height()+"px");
})();
问题是,每次刷新页面时,
$(document).height()
返回的值都不相同。有时是视口高度,有时是文档高度,有时是两者之间的值...我使用:Modernizr 2.8.3来检测
vh
单元支持,jQuery 1.11.0,Lightbox 2.7.1(如果没有它,问题仍然会发生)和Skeleton 2.0.4。我也尝试了这种解决方法,但没有成功:
function getDocHeight() {
var D = document;
return Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
);
}
我不知道是什么导致这个假定的常数值可变的...
最佳答案
听起来好像您在页面中的图像仍在加载时正在升高高度,因此页面仍在扩展。
在这种情况下,请尝试在$(window).load(fn)
事件下获取高度,因为应该在该点加载所有图像。