2011-12-06 4 views
0

私の投稿にはサイズの異なる画像が含まれている可能性があるので、コンテナの幅を個別に設定する必要があります。それ、どうやったら出来るの?ここで画像の高さを取得してそのコンテナのjqueryに設定する

<div class="panel"> 
<img id="screeny" src="http://localhost/531q3n.jpg"/> 
</div> 

は私の現在の試みだが、何かが間違っている:

var img = document.getElementById('screeny'); 
//or however you get a handle to the IMG 
var width = img.clientWidth; 
var height = img.clientHeight; 
$('.panel').css("width",width+"px"); 

答えて

1

あなたはそれのサイズへのアクセスを持って前にイメージがそうのように、ロードする必要があります。

var img = $('#screeny'); 
img.load(function() { 
    var width = img.width(); 
    var height = img.height(); 
    $('.panel').css("width", width); 
}); 

EDIT:より多くのため1つのイメージ(すべてがクラス 'panel'のdivにある場合):

$("img", ".panel").each(function() { 
    $(this).load(function() { 
     var width = $(this).width(); 
     var height = $(this).height(); 
     $(this).parent().css("width", width); 
    }); 
}); 
+0

忘れてしまったのは4つあり、最初に見つかったimgの幅しか得られません。残りの部分はどうですか? – FBwall

0
$('#screeny').load(function() { 
    $(this).parent().css('width', $(this).width()); 
}); 

画像のロードが完了したときに実行されるハンドラを添付します。これは、親(コンテナ)をイメージの幅に設定します。

関連する問題