如何在加载到html之前获取图像大小?

时间:2009-04-02 05:30:30

标签: javascript jquery

首先图像高度变为零,然后通过刷新页面我得到它的实际高度。我需要第一次达到它的高度?任何身体可以帮助我吗?

$j(document).ready(function(){
           var imgV = new Image();
           imgV.src="http://www.kerrvilletexascvb.com/Riverside%20Nature%20Center3.JPG";
           $j("#imgD").html(imgV.height);
           alert(imgV.height);
});


<div id="imgD"></div>
<img src="http://www.kerrvilletexascvb.com/Riverside%20Nature%20Center3.JPG" />

2 个答案:

答案 0 :(得分:9)

您不必将图像插入DOM以获取其尺寸:

$("<img />")
    .attr("src", "http://www.google.com/intl/en_ALL/images/logo.gif")
    .load(function() {
        alert(this.width);
        alert(this.height);
    })
;

答案 1 :(得分:1)

图像尺寸仅在加载图像时可用。可能在您重新加载页面时,图像会立即从缓存中提供,因此其大小可立即显示。

如果出于某种原因需要在显示图像之前获得大小,则可以在屏幕外显示该图像。添加一个onload处理程序,它将在图像准备好后调用 - 然后您可以检查它的大小,并将其附加到需要的位置。

通过在屏幕外显示,我的意思是将其粘贴到1x1像素div中,其中溢出:隐藏样式,位于页面底部的某处。