我试图用JavaScript模拟打字机效果。 Theorically它应该与我的代码工作:Settimout不工作For循环,行事怪异?
function TypeWriteToDoc(txt, id, x){
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + txt.charAt(x);
}
function TypeWrite(txt,id){
for (var i = 0; i < txt.length; i++){
setTimeout(function() {
TypeWriteToDoc(txt, id, i);
}, 1000*(i+1));
}
}
这应该是它,当我打电话TypeWrite("example", "p_test");
应该在“p_test” HTML写“测试”的每个字符。我认为这个问题它不是对,因为我的呼唤,而无需使用setTimeout
它的工作原理的功能等在下面的代码我的代码:
function TypeWriteWithNoSettimeout(txt, id){
for (var i = 0; i < txt.lenght; i++){
TypeWriteToDoc(txt, id, i);}
}
这是什么问题?你似乎说你的代码不起作用,但你没有说出什么问题。 – Carcigenicate
它根本不起作用。上面的代码“setTimeout”什么都不做。 –