循环时向javascript添加回调

时间:2015-04-18 16:03:31

标签: javascript jquery callback jquery-callback

我正在尝试在我的简历页面上复制一个类型 - 写作者效果,并且除了一部分之外还要工作:

while (i < tags.length) {
    type(tags[i], content[i], 0, 50);
    i++;
}

这是写出行的函数,它正常工作,除了它一次写入所有行的事实。我想让它写一行,然后继续写下一行,依此类推。我知道解决方案在于添加一个回调函数,但我似乎无法让它正常工作。任何帮助/建议将不胜感激。谢谢!

此外,还有完整的jsfiddle

1 个答案:

答案 0 :(得分:5)

回调和递归函数似乎是要走的路

var type = function (target, message, index, interval, callback) {    
    if (index < message.length) { 
        $(target).append(message[index++]); 
        setTimeout(function () { 
            type(target, message, index, interval, callback); 
        }, interval); 
    } else {
        callback();
    }
}

var i = 0;

(function recursive() {
    if (i < tags.length) {
        type(tags[i], content[i], 0, 50, recursive);
        i++;
    }
})();

FIDDLE