刷新后jQuery计算高度不正确

时间:2014-03-19 17:02:26

标签: javascript jquery html css height

我正在使用jQuery垂直居中页面上的不同元素。我不能使用table-cell css-statement,因为它在IE的低版本中不受支持,所以我使用jQuery来计算一半高度,然后通过负边距将其设置在中间。

如果我只使用地址栏刷新页面,这样可以正常工作,但如果我使用重新加载按钮,它将计算错误的高度并将其设置得太低。 例如,破碎元素的高度为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 个答案:

答案 0 :(得分:3)

如果document.ready上没有任何图像内容未下载,则之后将更改高度。尝试使用:

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