我試圖做一些很簡單的打印字符的字符串,但它不工作,我想不通爲什麼。我正在嘗試將一些文本寫入div,以使文本一次顯示一個字符;有點像矩陣中的那個場景。使用setTimeout的成炭
var message = document.getElementById("message");
function writeMessage(string) {
message.innerHTML = string.charAt(0);
for (var i = 1; i < string.length; i++) {
window.setTimeout(function() {message.innerHTML+=string.charAt(i);},1000);
}
}
writeMessage("Hello world");
要看到我的代碼的無爲行動,見JSFiddle。如你所知,它只顯示第一個字符,就像setTimeout根本沒有執行該函數一樣。在實際執行
的setTimeout將調用insde功能在1秒。它不會凍結程序,循環將繼續。所以你基本上在1秒後傳輸整個字符串打印。 –