2012-04-18 20 views
0
<div>      <div> 
<div>1</div> ------------ <div>2</div> 
<div>2</div> -transition- <div>3</div> 
<div>3</div> ------------ <div>1</div> 
</div>      </div> 

divの最初の子を削除して1つのチェーンの最後の子に追加する方法はjqueryですか?例div 1のフェードアウトがdiv 3に追加され、フェードインします 最初の子を上から削除したり、最後の子に追加したりできますが、1つの負荷では実行できません。私もdivを配列に入れて操作しやすくしましたが、わかりません。トップdivをスタックの一番下に移動する方法

+2

あなたが除去するために管理しましたそれをもう一度追加してください - あなたが試したものとそれを使っていないものを見せてもらえますか? – Armatus

答えて

2
$('div > div').first().fadeOut(500, function() { 
    $(this).appendTo($(this).parent()).fadeIn(); 
})​; 

LIVE DEMO

には、「私は1行のコードでそれを行う必要がある」要件が愚かであることに留意すべきです。ここで

0

あなたが行く: http://jsfiddle.net/V5bkC/

それがフェードアウトした後、私は通常のアイテムの高さをアニメーション化したいが、私はあなたにその部分を残しておきます:)

1

gdoron doesntの作業、わずかな微調整。

$('div > div').first().fadeOut('slow', function() { 
    $(this).appendTo($(this).parent()).fadeIn(); 
});​ 
+0

オハイオ州:)私の答えを固定しました。私はjsFiddleの問題を見た。 – gdoron

+0

申し訳ありませんが、あなたをupvote忘れました。 – gdoron

0

あなたはそれが自動的に、現在の位置から削除されたDOMにすでにある要素を追加する場合は、そう単純にすることを.fadeOutの完全なコールバックで()を行います。

var $first = $("div div").first(); 
$first.fadeOut(500, function() { 
    $first.appendTo($first.parent()).fadeIn(500); 
}); 

デモ:http://jsfiddle.net/tfEMq/

あなたが機能に上記を入れた場合、あなたはそれが.fadeIn(へのコールバックを追加することにより、継続的に実行することができます):http://jsfiddle.net/tfEMq/1/

関連する問題