文档就绪会给出错误的选择器高度

时间:2016-05-18 02:46:09

标签: javascript jquery

我想获得div元素的正确高度,所以在代码中我使用:

$(document).ready(function() {
   var h = $('.myElement.active').outerHeight(true);
   alert('height:'+h);
   ... // further more code to work with height
}

但是这个元素包含很多图像,看起来我得到的警报高度应该低于它应该是因为图像不能如此快地拉伸该元素的大小。如果我在几秒钟之后请求高度,它将以正确的高度发出警报。

问题:如何获取高度并运行我的代码并检查所有图像是否已加载,如果有一些图像已完成转换?

此致

维塔利彼得。

2 个答案:

答案 0 :(得分:3)

$(document).ready由DOM树成功构建的时间触发,类似于在<body>的最后调用脚本。那时,图像可能仍在加载,这意味着无法计算高度。

加载整个文档(包括图像)后,将触发window.onload

window.onload = function() { 
   var h = $('.myElement.active').outerHeight(true);
   alert('height:'+h);
   ... // further more code to work with height
}

答案 1 :(得分:1)

在加载图像后使用window.onload激活

window.onload = function() { 

 var h = $('.myElement.active').outerHeight(true);
   alert('height:'+h);
}