考虑以下功能:

$("document").ready(function(){
    var echoText = 'Hello world!';
    echoText = echoText.split('');
    $.each(echoText, function(key, value){
        $("#content").append(value);
    });
});


这只是回显输入文本。不过,我想做的是在回显的每个字符之间添加一个延迟,因此看起来像是慢速的人类打字。任何想法如何进行?我尝试了谷歌搜索,但到目前为止没有任何帮助。

最佳答案

考虑使用setTimeout()函数:

$("document").ready(function(){
    var data = 'Hello world!';
    var lastIndex = 0;

    var fnEcho = function() {
        if (lastIndex < data.length) {
            $("#content").append(data[lastIndex]);
            lastIndex++;

            window.setTimeout(fnEcho, 1000);
        }
    }

    fnEcho();
});

09-28 00:34