2011-12-22 8 views
1

イメージのロード後にdivの高さを一致させるのに問題があります。これは、最も高いdivの高さを取得しますが、画像がロードされる前に取得されるようです。これにはどんな方法がありますか?ここ ページの読み込み後のdivの高さjQuery

function matchColHeights(col1, col2) { 
    var col1Height = $(col1).height(); 
    alert('col1 '+col1Height); 
    var col2Height = $(col2).height(); 
    alert('col2 '+col2Height); 

    if (col1Height < col2Height) { 
     $(col1).height(col2Height); 

    } else { 
     $(col2).height(col1Height); 
    } 
} 

$(document).ready(function() { 
    matchColHeights('#leftPanel', '#rightPanel'); 
}); 

は、それが実行されている場所へのリンクです: http://www.tigerstudiodesign.com/blog/

答えて

5

イメージがロードされた後に列の高さをサイズ変更しますか?次のようなものがあります:

$('img').load(function() { 
    $(col1).height(col2Height); 
}); 
+0

運がありません。まだ同じことをしています。 – Lukasz

+0

ほんの少しの手間をかけて、私はこれを働かせました、ありがとう!これは私のために働いたものです:function matchColHeights(col1、col2){ $( 'img')load(function(){ var col1Height = $(col1).height(); alert( 'col1:' + col1Height); \t VAR col2Height = $(COL2).height(); \t警告( 'COL2:' + col2Height); \t \t(col1Height Lukasz

1

よるthis questionに、window.loadは、すべての画像がロードされているときに発生するので、これを試してみてください:ここで私がこれまで持っているものである

$(window).load(function() { 
    // ... 
} 
+0

私はこれを試しました、それはdivの高さをつかむようではありません。私はアラートを出し、ポップアップさえしません。 – Lukasz

+0

あなた、親愛なる人、私のために非常に複雑な問題を解決しました。ありがとうございました!!! – ShiningLight

0

画像タグに幅と高さが指定されていない場合が問題です。 DOMはそれらを使用して測定します。指定されていない場合は、正しい高さで画面を再塗りつぶすために画像が読み込まれるまで待たなければなりません。これが働いていなかった理由です。

関連する問題