我看到关于我的问题的类似帖子,但他们只显示宽度和高度。但我必须返回这些变量以便以后使用它们。
这是我的代码,我总是" 0" ;
var img = new Image();
img.src = "my_image.jpg";
newWidth = 0;
wnewHeight = 0;
img.onload = function() {
newWidth = (img.width*0.5);
newHeight = (img.height*0.5);
//return [newWidth , newHeight];
}
alert (newWidth);
答案 0 :(得分:0)
使用this
代替img
。
此外,您需要将警报放在回调函数中,因为图像是异步加载的。所以
var img = new Image();
img.src = "my_image.jpg";
newWidth = 0;
wnewHeight = 0;
img.onload = function() {
newWidth = (this.width*0.5);
newHeight = (this.height*0.5);
alert (newWidth);
return [newWidth , newHeight];
}
答案 1 :(得分:0)
以下是我修复它的方法。我在变量X中处理了onload返回:
var img = new Image();
img.src = "my_image.jpg";
newWidth = 0;
wnewHeight = 0;
var x = img.onload = function() {
newWidth = (this.width*0.5);
newHeight = (this.height*0.5);
return [newWidth , newHeight];
}();
alert (x[0]); //for the weight
alert (x[1]); //for the height