警报有效,但返回值为0.如何获取它以返回正确的值?如何获得JavaScript返回此值?
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.如何获取它以返回正确的值?如何获得JavaScript返回此值?
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);
你不能那样做。 onload
运行一次图像加载后,这意味着设置src
后,onload
将在稍后运行。
您需要将处理图像宽度的所有代码放入onload
。
您可以返回值,但您无法捕获它。
当您的图片加载完成后,您传递给onload
的功能将被执行。但是没有办法检索那里的返回值。你可以在里面调用另一个函数来处理这个值。
好吧,那么无法返回该值? – user1357182
@ user1357182只需调用另一个函数并将其作为参数传递即可。这就是异步编码的本质。 – Sirko
我在Chrome得到10
从这个代码:
你必须等待图像查询宽度(onload
)之前加载。
'onload'将在未来任意一点执行:在onload函数本身做你需要做的事情。 –
也许你应该解释你实际上想要完成的事情。然后有人可能会给你一个方法到达那里。 – codemonkey
你在哪里试图将'img.width'返回给?你提供的信息越多,你的帮助就越好。 – guanome