アラートは機能しますが、戻り値は 0 です。正しい値を返すにはどうすればよいですか?
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 です。正しい値を返すにはどうすればよいですか?
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
画像が読み込まれると、渡された関数が実行されます。しかし、そこで戻り値を取得する方法はありません。値を処理するために、内部で別の関数を呼び出すことができます。
10
Chrome で次のコードから取得します。
var img = new Image();
img.onload = function() { console.log(img.width); }
img.src = "https://maps.gstatic.com/mapfiles/dir/bike.png";
幅を照会する前に、画像がロードされるのを待つ必要があります(onload
)。