Javascript / JQuery函数无法在第一页加载时工作。然后继续刷新

时间:2015-06-18 16:36:15

标签: javascript jquery function refresh document

我有一个javascript函数,通过查找父div的高度和它自己的高度来垂直居中div,然后设置正确的位置。

当页面第一次加载时,此功能似乎不起作用,但每次刷新后都能正常工作。我在$(document).ready ...

的顶部调用此函数

有什么想法吗?

function positionCardText() {

  $('.copyIllustration').each(function(i){
    var containerHeight = $(this).parent().height();
    var illustrationHeight = $(this).height();
    $(this).css('top', ( containerHeight/2 ) - ( illustrationHeight/2 ) );
  });

};

2 个答案:

答案 0 :(得分:0)

当div包含图像时 - 只要未加载图像,高度计算就会错误。

如果您重新加载页面,图像已经被缓存,并且可以正确计算高度。

如果这导致原因,您可以将大小添加到图像标记,也可以在图像的加载回调上加载脚本。

答案 1 :(得分:0)

试试这个

 $(document).ready(function(){
    function positionCardText() {

      $('.copyIllustration').each(function(i){
        var containerHeight = $(this).parent().height();
        var illustrationHeight = $(this).height();
        $(this).css('top', ( containerHeight/2 ) - ( illustrationHeight/2 ) );
      });

    };

    });