我有以下列表:如何讓jQuery在完成之前將一個效果應用於.each()循環中的每個項目?
<div id="test">test</div>
<ul>
<li>foo</li>
<li>bar</li>
<li>sta</li>
<li>cko</li>
</ul>
和下面的jQuery代碼:
$(document).ready(function() {
$('li').each(function(index) {
$('#test').text($(this).text());
$('#test').show("drop", { direction: "down" }, 500, function() {
$("#test").delay(1000).hide("puff", {}, 100);
});
});
});
從邏輯上講,這應該改變div的內容test
到foo
,應用降和粉撲的效果,變化內容爲bar
,應用效果等。但是當你運行它時,整個.each循環會在效果開始前完成,所以最後一個元素cko
首先出現並獲得4次動畫。
我怎樣才能讓每個項目得到的效果,然後移動到下一個?
這幾乎工作,但我需要的粉撲動畫緊跟在下降動畫。現在,所有物品都會一個接一個地滑出來,最後一起膨脹。讓我們在你給的鏈接上擺弄它... – aalaap 2010-07-27 14:15:45