我正在使用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");
});
答案 0 :(得分:3)
如果document.ready
上没有任何图像内容未下载,则之后将更改高度。尝试使用:
$(window).load(function(){
...
});