在div中显示队列消息

时间:2014-06-23 06:56:38

标签: javascript foreach queue

我有一个字符串数组,我想在div中显示这个字符串:

var $div = $('#myDiv');
var messages = ['first', 'second', 'third'];

messages.forEach(function (m) {
  setTimeout($div.text(m), 1000);
});

2 个答案:

答案 0 :(得分:1)

猜猜你希望它每秒都改变一次。

使用您当前的实现,它将循环显示消息(快速),然后从现在起1秒后设置文本。

您需要做的是增加每个后续消息更新的超时时间:

var i = 0;
messages.forEach(function (m) {
  setTimeout(function() {$div.text(m)}, i * 1000);
  i++;
});

答案 1 :(得分:1)

     var $div = $('#myDiv');
    var messages = ['first', 'second', 'third'];


        var t=1;

        var timer=setInterval(function()
        {

            $('#myDiv').text(messages[t]);
            t++;
            if(t==messages.length)
            {
                window.clearInterval(timer)
            }
        },2000)