相关疑难解决方法(0)

$(document).ready()还准备好了CSS吗?

我有一个在$(document).ready()上执行的脚本,它应该在我的布局中垂直对齐块元素.90%的时间,它没有问题.然而,对于额外的10%,两件事之一发生:

  • 进行定心所需的时间明显滞后,并且块元素跳入位置.这可能只是性能相关 - 因为页面大小通常很大,并且有大量的javascript一次执行.

  • 中心将完全搞乱,并且块元素将向下推得太远或不够远.似乎它试图计算高度,但是测量结果不合适.

有没有理由为什么在DOM-ready上执行脚本会没有将所有正确的CSS值注入到DOM中?(所有CSS都在<head>via a中<link>).

此外,这是导致问题的脚本(是的,它是从这里直接采取的):

 (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);
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript css jquery

48
推荐指数
3
解决办法
3万
查看次数

标签 统计

css ×1

javascript ×1

jquery ×1