-1

2 つの div (DivLeft、DivRight) が隣り合っており、DivHolder でラップされています。DivRight には別の div が含まれているため、高さが拡張されます。DivLeft に DivRight と同じ最小高さを持たせたい。

HTML は多かれ少なかれ次のようになります。

<div class="DivHolder">
   <div class="DivLeft"></div>
   <div class="DivRight">
      <div class="add1"></div>
      <div class="add2"><img ...></div>
      <div class="add3"><img ...></div>
      ....
   </div>
</div>

このスクリプトを試しました

$(document).ready(function () {
if ($(".DivHolder").length > 0) {

         $(".DivLeft").css("minHeight", $(".DivRight").height());
    }
}

DivLeft にいくらかの高さを追加しますが、間違った高さです。DivRight の高さを確認したところ、720px ですが、最小高さの DivLeft ゲインは 241px です。DivRight に含まれる div は、この高さではありません。「ランダム」な値のようです。誰もが問題を見ますか?

ありがとう!

編集: 問題の根本は、DivRight に含まれる div の一部に画像が含まれていることです。関数を呼び出したときにこれらの画像が読み込まれないため、DivRight が短く見えます。

$(window).load(function() { の $(document).ready(function () を変更しましたが、今ではDivLeftの高さがジャンプしていることがわかります (最初は元の高さが設定され、画像が読み込まれた後、それは悪いように見えます.それを改善するためのヒントはありますか?

4

2 に答える 2

2

あなたの場合...

$('.DivLeft').css('min-height', $('.DivRight').height());

デモ: http://jsfiddle.net/tE6ER/


または何かのような.. (等高さ)

$('.DivLeft, .DivRight').height(
        Math.max(
            $('.DivLeft').height(),
            $('.DivRight').height()
        )
);

デモ: http://jsfiddle.net/2WPwu/

于 2013-11-13T11:50:35.050 に答える
0

私はこれを使用して問題を解決しました:

 if ($(".DivHolder").length > 0) {
    $(".DivRight").find("img").load(function (){
       $(".DivLeft").css("minHeight", $(".DivRight").height());
    });
 }

ジャンプは見られず、うまく機能します!

于 2013-11-13T12:46:48.003 に答える