我試圖獲取圖像的尺寸而不用在DOM中。全局變量不會改變
var myVariable;
$('<img src="http://www.skrenta.com/images/stackoverflow.jpg"/>').load(function(){
myVariable = this.width;
});
console.log(myVariable);
爲什麼控制檯顯示myVarible是未定義的?
我試圖獲取圖像的尺寸而不用在DOM中。全局變量不會改變
var myVariable;
$('<img src="http://www.skrenta.com/images/stackoverflow.jpg"/>').load(function(){
myVariable = this.width;
});
console.log(myVariable);
爲什麼控制檯顯示myVarible是未定義的?
您的變量未定義,因爲它是在圖像加載後初始化的,換句話說:console.log
調用較早,然後在load
中運行。
看看[這個小提琴](http://jsfiddle.net/antisanity/8Tu7j/)。它可以幫助你理解執行的順序。 – canon
所以「加載img」首先顯示。那我該怎麼辦? – TGeorge
將你的代碼放入'load'處理程序中。 – canon