2014-03-19 33 views
2

我使用jQuery来垂直居中页面上的不同元素。我不能使用表格单元格的css语句,因为它在较低版本的IE中不受支持,所以我使用jQuery来计算一半高度,然后通过负边距将它设置在中间。jQuery刷新后计算高度不正确

这工作正常,如果我只是使用adressbar刷新页面,但如果我使用重新加载按钮它会计算错误的高度,并设置它太低。 例如,破碎元素的高度是863px,但jQuery设置margin-top:-228.5px;

在此先感谢。

function verticalCenter(object) { 
    objectHeight = $(object).height()/-2; 
    $(object).css({'position':'relative','top':'50%','marginTop':objectHeight}); 
} 

$(document).ready(function() { 
    verticalCenter("#promo-heading"); 
    verticalCenter("#center1"); 
    verticalCenter("#center2"); 
}); 
+1

也许试试$(window).load(function(){});而不是文件。 –

+0

这些元素的内容是什么? – Huangism

回答

3

如果在document.ready上没有任何图像内容没有下载,并且此后将改变高度。尝试使用:

$(window).load(function(){ 
    ... 
}); 
+0

是的,固定它 - 它是关于图像。非常感谢! –

+0

为我工作:)谢谢 –