2014-03-19 84 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

爲我工作:)謝謝 –