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