在Javascript中获取图像大小不是第一次工作

时间:2012-06-19 05:23:57

标签: javascript jquery

我使用javascript获取图像大小,但在我第二次运行之前它不会返回正确的大小。我想知道为什么会这样。这是我的代码:

   var img = new Image()
   img.src = src
   img.onLoad = alert(img.width);

有时返回0,但几次后它会返回实际的图像宽度。如何让它第一次获得合适的尺寸?我认为这是正确的方式。

4 个答案:

答案 0 :(得分:6)

问题是您是直接调用警报而不是将其指定为回调,因此在加载图像之前调用它。这就是你想要做的:

var img = new Image();
img.onload = function() {
    alert(img.width);
};
img.src = src;

答案 1 :(得分:2)

尝试

img.onload = function(){alert(img.width);}

而不是

img.onLoad = alert(img.width);

答案 2 :(得分:0)

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.height);
}
img.src = 'http://www.google.com/intl/en_ALL/images/logo.gif';

从此链接找到代码: -

How to get image size (height & width) using JavaScript?

答案 3 :(得分:-1)

使用图像元素的clientWidth属性。

img.clientWidth;