【问题标题】:why does this function behave like a loop?为什么这个函数表现得像一个循环?
【发布时间】:2014-03-12 17:28:17
【问题描述】:

在这个例子中,当 slideUp 完成时触发的函数看起来像一个循环,因为这里的警报响了两次。变量 aaa 在我的脚本之前设置为 3:

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

这是为什么?

【问题讨论】:

标签: jquery function loops callback increment


【解决方案1】:

如果您希望 slideUp() 回调在所有集合中只调用一次,请使用承诺:

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

【讨论】:

  • 谢谢,这正是我想要的! :D
【解决方案2】:

因为 $("ul.level" + 2) 在 aaa 递减时会被调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多