2011-12-27 21 views
0

HTMLではdivにラップされたformがあります。このdivには、CSSに明示的にheightが設定されていませんが、内容によってはheightになる可能性があります。フォームのアニメーション自動サイズ変更

ユーザーがボタンを押すと、Javascript関数がいくつかの要素をフォームに追加します。ここでも明示的なheightは扱われません。 divは新しいコンテンツに合わせてサイズが変更されます。

ユーザーが別のボタンを押すと、Javascript関数が最初の要素をフォームから削除します。

Javascriptを使用して、これらの調整をスムーズにアニメーション化する方法はありますか?プロジェクトは現在jQueryを使用しているので、それに組み込まれているものはすべて利用可能です。

デモコード:

<!--HTML FILE--> 
<!--...--> 
<button onclick="add_field();">ADD FIELD</button> 
<button onclick="del_field();">DEL FIELD</button> 
<div> 
    <form> 
     <input type="text" id="text_field"/> 
     <input type="submit"/> 
    </form> 
</div> 
<!--...---> 


//Javascript File 
function add_field() 
{ 
    $("<input type='text'/>").insertBefore($("#text_field")); 
} 
//... 

答えて

0
$("<input type='text'/>") 
    .css('display', 'none') 
    .insertBefore($("#text_field")) 
    .toggle(_duration); 
+0

これは確かに追加の 'div'のサイズを変更するが、どのように削除しについてのでしょうか? –

+0

@pcperiniと非常によく似ています。コールバックを使用するだけです。 $( '#text_field')。toggle(_duration、function(){$(this).remove();}); '。それがあなたを助けるなら、この答えをチェックすることを忘れないでください:) – Sang