为什么这个函数表现得像一个循环?

时间:2014-03-12 17:28:17

标签: jquery function loops callback increment

在此示例中,当slideUp完成时触发的函数似乎就像一个循环,因为警报在这里发生了两次。在我的脚本中,变量aaa设置为3:

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

为什么会这样?

2 个答案:

答案 0 :(得分:3)

如果你想为所有set只调用一次slideUp()回调,请使用一个promise:

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

答案 1 :(得分:1)

因为当aaa递减时将调用$("ul.level" + 2)