2014-03-12 52 views
-1

在此示例中,當slideUp完成時觸發的函數看起來像循環一樣,因爲警報在此處熄滅兩次。在我的腳本中,變量aaa設置爲3:爲什麼這個函數的行爲像循環?

$("ul.level" + aaa).slideUp(
    function() { 
     aaa --; 
     alert (aaa); 
    } 
); 

這是爲什麼?

+3

效果基本show()調用回調函數對每個匹配的元素[jQuery的回調 –

+0

可能重複被稱爲多時間](http://stackoverflow.com/questions/909526/jquery-callbacks-being-called-multiple-times) – undefined

回答

1

因爲當aaa遞減時將調用$("ul.level" + 2)

+0

好吧,奇怪,它循環......但無論如何感謝:) –

3

如果想效果基本show()回調僅被一勞永逸集調用,使用一個承諾:

$("ul.level" + aaa).slideUp().promise() 
.done(function() { 
    aaa--; 
    alert(aaa); 
}); 
+0

謝謝,多數民衆贊成在精神上我想要什麼首先! :d –