javascript - 延迟jquery不起作用

标签 javascript jquery ajax delay

大家好,我不知道为什么我的计时功能不起作用。考虑以下代码...

$( document ).ready(function() {
    $.ajax({
        type: 'GET',
        url: 'conversation.json',
        dataType: 'json',
        success: function (data) {
            var conversation = data.conversation1;
            $.each(conversation, function(i, user) {
                setTimeout(function () {
                    $('<li>').attr({
                        class : 'list-group-item',
                    }).text(user.nombre + " : " + user.text).
                    appendTo('#messages');
                }, 3000);
            });
        }
    });
});

我通过ajax获取一个json,我想通过创建1或2秒的时间来显示每条消息,它可以工作,但只是第一次,但之后,所有消息都会立即出现。

如果有人可以帮助我了解发生了什么事。

谢谢大家,我会继续寻找。 :(

最佳答案

只需将 .each 循环中的超时延迟乘以迭代计数,即可使其显示为每条消息的递增延迟。请注意以下几点...

$.each(conversation, function(i, user) {
    setTimeout(function () {
        $('<li>').attr({
            class : 'list-group-item',
        })
        .text(user.nombre + " : " + user.text)
        .appendTo('#messages');
    }, 3000 * (i + 1)); // 3000, 6000, 9000 etc.
});

JSFiddle Link - 简化的演示

关于javascript - 延迟jquery不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400851/

相关文章:

javascript - 选择的 Angular ng-change 不调用声明的方法

javascript - 同时连接太多字符串导致前端长时间阻塞,如何优化?

javascript - 使用 AJAX 的 session 启动非常慢

javascript - 元素生成 jquery 后运行函数

javascript - 将字符串解析为不含英语字符和标点符号的单词

javascript - 下划线/ Backbone 模板 .get

javascript - React 组件内的构造函数

javascript - 检查空输入是否将类添加到 div,否则删除类

javascript - spring mvc,在jsp中标记单行

javascript - AJAX django 获取请求