2010-12-30 1 views
1

divを上から下にアニメーション化したいと思います。私はアイデアが0からレンダリングされた幅に高さをアニメーション化していると思います。 しかし、表示される前にレンダリングされた幅がわからない、これをアニメートするコードを書く方法は?jquery:divの高さでアニメーションを行います

ようにです:あなたはそうのような.width()を使用して幅取得する必要があり$.animate({"width":"auto"})

+0

、ページの最上部から隠されてからのdivをオープンしようとしているclairfyしてください?または側から?あなたがここで何を望んでいるのか分かりません。 「0からの高さ」は、上、左、右、または下を意味しますか? – jondavidjohn

答えて

4

:ボーダー/パディングなどを含めた完全な計算された幅を返しません().width使用

var $el = $("#elementID"); 
$el.animate({height: $el.width()}); 
3

を.. 。この目的のために、私は.outerWidth()を使用して、マージンを含めるためにオプションのtrueを渡します。

$('element').animate({height: $('element').outerWidth(true)}); 
+0

ああ、しかし、高さを設定してもパディング/マージンが設定されないので、パディング、余白、境界線は幅と高さが等しいと仮定して、 '.width()'を使用するとより正確になります。) –

+0

hah、thereこの漠然とした質問に多くの "仮定"されています;)...良いショー! – jondavidjohn

0
$("#elementID").animate({height:$(this).width()}); 
+0

@jondavidjohn:なぜあなたは '$("#elementID ")'を最初に使ったのか分からないのですか?彼らはどちらも同じスコープにあり、 '$(this)必ず '$("#elementID ")' –

+0

を参照してください! – jondavidjohn

関連する問題