1

この問題を読んで解決しようとしていますが、解決策が見つかりません。

別の div の高さを更新し、クールな jQuery アニメーションを作成するために、div の高さを取得しようとしています。それはすべて ajax リクエストによってトリガーされます (正常に動作します)。

ここにライブの例があります

#bigBox常に 0 を返すため、 の高さを取得する方法がわかりません。

編集済み

すべての解決策は機能しましたが、期待どおりには機能しませんでした。#bigBoxフェードアウト後の高さを計算する必要があります。

最後に、私はそれを行うことができました。

親divにいるのではなく、クラス.toToggleをdivに変更します。#bigBoxこれは、親のビーイングを避けるために行われましたdisplay: none;。同じ要素が非表示になったので、機能します

これが最終的な解決策です

皆さん、ありがとうございました!:D

4

2 に答える 2

2

高さを取る前に隠しているので、高さを取ると「0」になります。

代わりにこれを試してください:

var height = $("#bigBox").height();
$(".toToggle").fadeOut(600, "swing",function(){

    alert(height);

    $(".toToggle").fadeIn(500);
}); 

フィドルを参照してください

于 2013-03-10T18:40:03.380 に答える
0

非表示の要素には、定義上、高さがありません。たとえば、絶対にオフスクリーンに配置し (以下を参照)、表示し、高さを取得して、再び非表示にする必要があります。

.offscreen { 表示: ブロック; 位置: 絶対; 左: -999em; }

更新: デモを詳しく調べた後、アニメーションが始まる前に高さを取得してみませんか?

http://jsfiddle.net/97Xx5/5/

var height = $("#bigBox").height();

$(".toToggle").fadeOut(600, "swing", function () {
    alert(height);

    $(".toToggle").fadeIn(500);
});
于 2013-03-10T18:37:39.750 に答える