我有一个脚本在$(document).ready()上执行,用于垂直对齐我的布局中的块级元素。90%的时间,它工作得很好,没有任何问题。然而,在额外的10%中,会出现以下两种情况之一:
在居中过程中,显然存在延迟,块级元素会跳到位置。这可能仅与性能有关-因为页面大小通常很大,并且有相当多的javascript同时执行。
居中将完全混乱,块级元素将被推下太远或不够远。似乎尝试计算高度,但获得了不正确的测量结果。
是否有任何原因导致在DOM-ready上执行脚本时,还没有所有正确的CSS值注入到DOM中?(所有CSS都通过在中呈现)。
此外,这是引起问题的脚本(是的,它直接从这里拿出来的):
(function ($) {
// VERTICALLY ALIGN FUNCTION
$.fn.vAlign = function() {
return this.each(function(i) {
var ah = $(this).height();
var ph = $(this).parent().height();
var mh = (ph - ah) / 2;
$(this).css('margin-top', mh);
});
};
})(jQuery);
谢谢。