2009-07-25 17 views
0

非表示アニメーションの前後でテストdivの高さの値が同じになるのはなぜですか?jquery hideの高さ

$(document).ready(function() {   
    $("#test").hide("slow", function() { 
     alert($("#test").height()); 
    }); 
}); 

<div id="test"> 
    test 
    <br /> 
    test 
    <br /> 
    test 
</div> 

答えて

1

hide()アニメーションの仕組みは完全にはわかりませんが、縮小効果を得るために要素のstlye-sizeを変更すると、アニメーション後に元のサイズに戻っているはずです完了しました。

jQueryの方法実際にはを隠すのは、要素を隠すCSSスタイルの1つを設定することです(display:none;を設定すると思う)。アニメーションは、実際に要素を永久に変更することのない派手なエフェクトです。

+0

hide()の前にエフェクトライブラリを呼び出すコールバックによってアニメーションが提供されます –

+0

anwserに感謝します。アニメーションが完了した後、手動で高さを0に設定すると思います。 – Pickels

+1

あなたは$( "#test")を行うことができます。hide( "slow"、function(){alert($( "#test")。 –

1

Hide()関数はdivを隠すだけで、高さは変更しません。 style = "display:none;"だけを追加します。要素に。

+0

に書くことができます。 – Pickels

0

私は感謝たくさん見るコールバックstyle.height=' ';