警報有效,但返回值爲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