这是我拥有的代码,我想要编写它,以便字母(句子参数)能够一一键入。不是一次全部。我一直尝试使用 setTimeout() 但我无法做到这一点,这样它就可以保持进度。请帮忙。
var letters = [];
function typeOut(sentence, code) {
$('body').append('<p id=' + code + '></p>');
for (i = 0; i < sentence.length; i++) {
letters[i] = sentence[i];
$('#' + code).append(letters[i]);
}
}
typeOut("Hello World", 1);
提前致谢!
最佳答案
setTimeout
看起来很完美。我猜你用错了。
function typeOut(sentence) {
var txt = document.body
.appendChild(document.createElement('p'))
.appendChild(document.createTextNode(''));
var i = 0;
(function typeLetter() {
if(i < sentence.length) {
txt.nodeValue += sentence[i];
++i;
setTimeout(typeLetter, 100);
}
})();
}
typeOut("Hello World");
关于javascript - 我需要一个不是 setTimeout() 的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38806487/