http://jsfiddle.net/xDWLQ/
JavaScript:
var quotes = new Array();
quotes[0] = "message 0";
quotes[1] = "message 1";
var qText = document.getElementById('qText');
for (i = 0; i < quotes.length; i++) {
setInterval(function() { qText.innerHTML = quotes[i]; }, 2000);
}
HTML:
<p class="qText" id="qText">Predefined text</p>
innerHTML
的 qText
变为 undefined,而不是变为 quotes[0]
,后跟 quotes1
。现在我尝试通过在 setInterval 函数中使用 alert()
来调试它,为我提供 for 循环的索引,并且它两次都说“2”。那么,我将如何暂停 for 循环而不是 setInterval 创建新线程并增加索引? 最佳答案
我认为这是你想要的,而不是一个循环。
var quotes = ["message 0", "message 1"];
var qText = document.getElementById('qText');
var i = 0;
var len = quotes.length;
setInterval(function() {
qText.innerHTML = quotes[i++];
if (i === len) i = 0;
}, 2000);
关于javascript - 我如何让 setInterval 暂停它所在的 for 循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12181706/