2

崇高なテキストのコード折り畳みに似たフォームの折り畳み関数に取り組んでいます。20px から div の全高の間でアニメーション化できるようにしたい。私はやってみel.animate({'height':'20px'});ましel.slideUp();たが、高さがすでに設定されている場合、jQueryは要素をスライドさせません。

jQueryでこれを行う簡単な方法はありますか?jQueryは、高さをアニメーション化するときにどのようにアニメーション化するかをどのように認識します.slideDown()か?

4

1 に答える 1

2

"display: block"で要素の全高を取得できます。

したがって、隠し要素がある場合は、その位置を絶対に設定し、画面の外に配置して、次のように寸法を取得できます。

$('#el').css('position', 'absolute').css('left', '99999px').css('display', 'block');
var h = $('#el').height();
$('#el').css('position', 'relative').css('display', 'none');

あなたの問題については、アニメーションが完了したらスライドしていることを確認してください。使用する:

el.animate({'height':'20px'}, delay, function() { slide here })
于 2012-05-22T06:47:17.063 に答える