2012-04-18 166 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> 

他們的方式在jquery中刪除一個div的第一個孩子並將其追加到最後一個孩子在一個鏈中?例子div 1淡出然後追加到div 3並淡入 我只能得到從頂部刪除的第一個孩子或附加到最後一個孩子,但我不能在一個負載。我也嘗試把div放在一個數組中,以便於操作,但我無法弄清楚。如何將頂部div移動到堆棧的底部

+2

你說你成功消除和追加它已經 - 你能告訴我們你試過什麼,什麼不適用它? – Armatus 2012-04-18 00:05:59

回答

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

LIVE DEMO

應該指出的是,那些「我需要一行代碼來做到這一點」的要求是愚蠢的。

1

gdoron行不通的,輕微的調整。

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

哦,:)只是修復了我的答案。我在jsFiddle中看到了這個問題.. – gdoron 2012-04-18 00:19:10

+0

對不起,忘記了upvote你。 – gdoron 2012-04-18 00:36:02

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/

相關問題