如何让javascript返回此值?

时间:2012-06-07 15:38:34

标签: javascript

警报有效,但返回值为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);

3 个答案:

答案 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中)。