我使用javascript获取图像大小,但在我第二次运行之前它不会返回正确的大小。我想知道为什么会这样。这是我的代码:
var img = new Image()
img.src = src
img.onLoad = alert(img.width);
有时返回0
,但几次后它会返回实际的图像宽度。如何让它第一次获得合适的尺寸?我认为这是正确的方式。
答案 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';
从此链接找到代码: -
答案 3 :(得分:-1)
使用图像元素的clientWidth属性。
img.clientWidth;