警报有效,但返回值为0.如何让它返回正确的值?
var img;
img = new Image();
img.onload = function() {
alert(img.width);
return(img.width);
};
img.src = "https://maps.gstatic.com/mapfiles/dir/bike.png";
alert(img.width);
答案 0 :(得分:3)
你做不到。加载图片后会onload
运行,这意味着在设置src
后,onload
将会稍后运行。
您需要将处理图像宽度的所有代码放在onload
。
答案 1 :(得分:2)
您可以返回该值,但无法捕获它。
当您的图片已加载时,您传递给onload
的功能会被执行。但是没有办法在那里检索返回值。你可以在里面调用另一个函数来处理这个值。
答案 2 :(得分:0)
我从Chrome中的此代码获得10
:
var img = new Image();
img.onload = function() { console.log(img.width); }
img.src = "https://maps.gstatic.com/mapfiles/dir/bike.png";
在查询宽度之前,您必须等待图像加载(在onload
中)。