2

画像の実際の幅を取得しようとしています...これが問題の画像です

<img src="upload/<?php echo $array['image'] ?>" height="200" class="active" />

そしてこれは私がjQueryで試したことです

$(window).bind('load', function() {  
    var img_width = $("#slideshow").find("img").width();
    $("#slideshow img").css("width", img_width);
    alert(img_width);
});

アラートは、これを試したすべての画像に対して255を返します。これは、divスライドショーの幅です。これらの画像の高さがすべて200である場合、幅は異なります。私の質問は、これらの幅を取得するにはどうすればよいですか。

ありがとう、J

4

4 に答える 4

1

これにより、すべての画像の幅が配列に入力されます。

$(window).bind('load', function() {  
    var img_widths = [];
    var imgs = $("#slideshow").find("img");
    imgs.each(function() {
      img_widths.push($(this).width());
    });
});
于 2012-04-04T18:26:17.510 に答える
0

#slideshow複数の が含まれている場合img、 への呼び出し$("#slideshow").find("img").width();は最初の幅のみを返しますimg。この場合は 200 にする必要があります。

于 2012-04-04T18:22:47.020 に答える
0
var $imgs = $('img');
$imgs.load(function(){
    console.log($(this).width());
});
于 2012-04-04T18:29:24.803 に答える
0

私はあなたが求めていない答えをあなたに与えるつもりです - しかし、私が思うのはより良い解決策です.

画像自体で PHP を使用していることがわかったからです。PHPで画像サイズ情報を書き込んでみませんか。その方が優れており、ロードを待ちません。

<?php 
// path from document root seems to work best for me
list( , , , $attr) = getimagesize($_SERVER['DOCUMENT_ROOT'] . "/upload/".$array['image']);
?>
<img src="upload/<?php echo $array['image'] ?>" <?php echo $attr; ?> class="active" />
于 2012-04-04T18:37:20.397 に答える