我正在尝试在我的简历页面上复制打字机效果,并且除了一部分之外还可以工作:
while (i < tags.length) {
type(tags[i], content[i], 0, 50);
i++;
}
这是写出行的函数,它工作正常,除了它一次写出所有行的事实。我希望它写一行,然后继续下一行,依此类推。我知道解决方案在于添加回调函数,但我似乎无法让它正常工作。任何帮助/建议将不胜感激。谢谢!
此外,这里是完整的 jsfiddle 。
最佳答案
回调和递归函数似乎是要走的路
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
关于javascript - 将回调添加到 javascript while 循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29719630/