7

jQueryでdivの高さを取得したいのですが、このdivには、ロード時にこのdivのサイズを変更する画像がいくつかあります:

しかし、以下のコードでは、画像が読み込まれる前に div の高さが得られます

$(document).ready(function() {
        $(".link_module").each(
            function () {
                maxheight = Math.max(maxheight,$(this).height());
            }
        ).height(maxheight);
});

コードを次のように変更しましたが、何も変わりません:

$(document).ready(function() {
    $(".link_module img").load(
        function (){
            $(".link_module").each(
                function () {
                    maxheight = Math.max(maxheight,$(this).height());
                }
            ).height(maxheight);
        }
    )
});

コードを変更して目標を達成するのを手伝ってくれる人はいますか?

4

3 に答える 3

7

$(window).load()すべてのオブジェクトと画像を含め、ドキュメントとそのアセットが完全にロードされたときに発生する whichを使用できます。

load イベントは、ドキュメントの読み込みプロセスの最後に発生します。この時点で、ドキュメント内のすべてのオブジェクトが DOM にあり、すべての画像とサブフレームの読み込みが完了しています。

$(window).on('load', function() {
    $(".link_module").each(
         function () {
            maxheight = Math.max(maxheight,$(this).height());
         }
    ).height(maxheight);
});
于 2012-07-12T17:51:14.237 に答える
3

これを試して

$(document).ready(function() {
   var $this = $(this);
   $(".link_module img").load(
      function (){
          $(".link_module").each(function () {
            maxheight = Math.max(maxheight,$this.height());
          }).height(maxheight);
   });
});
于 2012-07-12T17:50:20.663 に答える
0

これを試してみてください。それが機能するかどうかを教えてください。

var childW=0
$(".link_module").children().each(function(){    
    $("img").load(function() { 
     childW+=$(this).outerWidth();
     });
});
于 2012-07-12T17:49:13.347 に答える