我是新來的JS回調函數。看了幾個例子,但不能解決這個案例。如何在這種情況下實現回調函數
我想將width
和height
變量分配給dimensions
數組。寬度和高度由函數返回,因此需要回調。
var size; // undefined var
var dimensions = [];
function getMeta(url){
$('<img/>').attr('src', url).load(function(){
size = {w:this.width, h:this.height};
//myDelayedFunction();
//var imageDimendions = [];
var imageDimendions = myDelayedFunction();
var width = imageDimendions[0];
var height = imageDimendions[1];
dimensions.push(width);
dimensions.push(height);
//alert(width); //works fine here
//alert(height); //works fine here
});
alert(dimensions); //alerts "undefined"
return dimensions;
}
function myDelayedFunction(){
//var imageDimensions = array();
var width = size.w;
var height = size.h;
var imageDimensions = [];
imageDimensions.push(width);
imageDimensions.push(height);
//alert(imageDimensions);
return imageDimensions;
}
var imageDimensions = getMeta(imageURL);
var imageWidth = imageDimensions[0];
var imageHeight = imageDimensions[1];
謝謝。你將如何從Meta獲取imageWidth和imageHeight?這是我的最終目標。我試圖讓這些變量是全局的,但如果我在getMeta之外提醒它們仍然會得到'undefined' – bbking7
爲您的評論添加更多解釋 – yosiweinreb
所以基本上,如果我想進一步使用imageWidth和imageHeight,那麼我必須將代碼它在{3}內部使用它們? – bbking7