javascript - jquery 延迟更改排队函数关闭?

标签 javascript jquery queue scope delay

我有一个非常简单的测试页面,用于测试 jquery (1.4.2) 队列和延迟。

    for (var i = 1; i <= 5; i++) {
        $('#test')
        //.delay(50)
        .queue(function(next) {
            console.log(i);
            next();
        });
    }

现在,当我在 FF 中使用 firebug 运行这段代码时,我得到了预期的结果,1 ~ 5。

但是,如果我取消评论延迟,我会得到 6 次五次?

有人可以帮我澄清一下吗?

最佳答案

i 是一个存储一次 时间并由循环的所有迭代共享的单个变量。没有 .delay()你正在使用 i right then 的值,所以这是你所期望的。 .delay()但是,您使用的是 later 的值...后来它是循环结束时的值,6。

关于javascript - jquery 延迟更改排队函数关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201907/

相关文章:

javascript - 在 AngularJS/ngAnimate 中显示/隐藏时向左/向右滑动动画

javascript - 在多个 div 或类似选项卡之间切换

php - onclick 提交两个相同表单之一

java - 关于 LinkedBlockingQueue,需要澄清

java - 如何使用队列元素填充组合框?

asp.net - Ajax 数据更新。扩展程序

javascript - Bootstrap 3 不应用 css 本地链接

JQuery 为 <li> 元素分配不同的宽度

jquery - 有没有用于表格固定标题和排序的 jQuery 插件?

jquery - 如何使用 jQuery 按顺序为多个元素设置动画?