第一次在 JavaScript 中获取图像大小不起作用

Getting Image size in Javascript not working the first time

本文关键字:不起作用 图像 获取 JavaScript 第一次      更新时间:2023-09-26

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

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

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

问题是您直接调用警报,而不是将其分配为回调,以便在加载图像之前调用它。这是您要执行的操作:

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

试试

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

而不是

img.onLoad = alert(img.width);
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';

从此链接中找到代码:-

如何使用JavaScript获取图像大小(高度和宽度)?

使用 image 元素的 clientWidth 属性。

img.clientWidth;