我是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) –