我是JavaScript新手,我正在尝试每天进行小型练习。我很难弄清楚是否有可能为for-loop添加时间延迟。所以当代码从一个我到另一个时,它会等待一秒钟。为循环添加时间延迟
我正在尝试构建一个小程序,为用户输入的每个字母播放声音。例如,对于数字,它将播放声音并为字母播放另一个声音。当它从一个我到另一个(i ++)时,它只需等待一秒钟,所以声音不会一次播放。
预先感谢您。
function getText()
{
var myString=document.name1.ids.value;
var list3 = myString.split('')
var list1 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];
var list2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
for (var i = 0; i < list3.length; i++) {
if(list1.indexOf(list3[i]) >= 0){
audio.play();
}
else if(list2.indexOf(list3[i]) >= 0){
audio2.play();
}
else{
}
}
}
由于JS是单线程,这是一个非常糟糕的主意,把延迟到loop.You可能尝试使用定时器等window.setTimeout(回调,1000),有回调函数打电话给下一秒。 –
可能的重复[如何在JavaScript循环中添加延迟?](http://stackoverflow.com/questions/3583724/how-do-i-add-a-delay-in-a-javascript-loop) –