2010-12-01 6 views
0

私は自分のコードをjQueryがアニメーションを楽にしました

として持っています
<div id="container"> 
    <div id="one"></div> 
    <div id="two"></div> 
    <div id="three"></div> 
    <div id="four"></div> 
</div> 

各divの幅は250px &です。 ボタンをクリックすると、私はhide( 'one')を使っています。 div#1が消えると、残りの3つのdivは空の場所になり、突然起こります。私が望むのは、div#1が消えると残りの3つのdivがゆっくりと左にスライドしてほしいということです。どうすればいいですか?

答えて

2

あなたはちょうどあなたがすべてのセットだ.hide()に時間を与えた場合、それはこのように、アニメーションになるでしょう:

$("#one").hide("slow"); 

You can test it here
注:これは、

+0

ありがとうございました。:) – ptamzz

+0

@ptamzz - ちょっとしたヒントは、期間をミリ秒単位で渡すこともできます。ここでは、これを示すための速度が遅くなっています。http://www.jsfiddle.net/nick_craver/xKngP/1/ –

+0

実際には、div#1がスライドアウトしてImのように見えるようにスライドアウトエフェクトが必要でした。\t \t $( '#one')。hide( 'slide'、{direction: 'left '}、200); divがスライドアウトすると、残っているdivがスペースを置き換えて欲しいです。私を助けてくれますか? – ptamzz

1

一つの方法は、そのdiv要素を縮小することであるjQueryのコアの一部です...しかし、あなたはその後、シュリンクをフェードアウトとしたい場合は、最初に(アニメーションを使用することができ、またはjQueryのUIをせずに動作します)を使用して不透明度を0に変更し、animate()も使用してdivを縮小します。最初のanimate()でコールバックを使用することも、2つのアニメーションを一緒にキューに入れることもできます。

hide()のニックの回答のように思えますが、同時に必要なすべてのものが消えて収縮します。

関連する問題