JavaScript を使用して画像サイズを取得していますが、もう一度実行するまで正しいサイズが返されません。これはなぜだろうか。これが私のコードです:
var img = new Image()
img.src = src
img.onLoad = alert(img.width);
これは0
時々返されますが、数回後に実際の画像の幅が返されます。初めて適切なサイズを取得するにはどうすればよいですか? これが正しい方法だと思いました。
JavaScript を使用して画像サイズを取得していますが、もう一度実行するまで正しいサイズが返されません。これはなぜだろうか。これが私のコードです:
var img = new Image()
img.src = src
img.onLoad = alert(img.width);
これは0
時々返されますが、数回後に実際の画像の幅が返されます。初めて適切なサイズを取得するにはどうすればよいですか? これが正しい方法だと思いました。
問題は、アラートをコールバックとして割り当てるのではなく直接呼び出しているため、画像が読み込まれる前に呼び出されることです。これはあなたがしたいことです:
var img = new Image();
img.onload = function() {
alert(img.width);
};
img.src = src;
試す
img.onload = function(){alert(img.width);}
それ以外の
img.onLoad = alert(img.width);
var img = new Image();
img.onload = function() {
alert(this.width + 'x' + this.height);
}
img.src = 'http://www.google.com/intl/en_ALL/images/logo.gif';
このリンクからコードを見つけました:-
image 要素の clientWidth プロパティを使用します。
img.clientWidth;