1

JavaScript を使用して画像サイズを取得していますが、もう一度実行するまで正しいサイズが返されません。これはなぜだろうか。これが私のコードです:

   var img = new Image()
   img.src = src
   img.onLoad = alert(img.width);

これは0時々返されますが、数回後に実際の画像の幅が返されます。初めて適切なサイズを取得するにはどうすればよいですか? これが正しい方法だと思いました。

4

4 に答える 4

6

問題は、アラートをコールバックとして割り当てるのではなく直接呼び出しているため、画像が読み込まれる前に呼び出されることです。これはあなたがしたいことです:

var img = new Image();
img.onload = function() {
    alert(img.width);
};
img.src = src;
于 2012-06-19T05:27:44.710 に答える
2

試す

img.onload = function(){alert(img.width);}

それ以外の

img.onLoad = alert(img.width);
于 2012-06-19T05:28:36.800 に答える
0
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';

このリンクからコードを見つけました:-

JavaScript を使用して画像サイズ (高さと幅) を取得するには?

于 2012-06-19T05:30:09.807 に答える
-1

image 要素の clientWidth プロパティを使用します。

img.clientWidth;
于 2012-06-19T05:27:19.780 に答える