javascript – 如何让setInterval暂停它所在的for循环?

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>​

qText的innerHTML更改为undefined,而不是更改为引号[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);
点赞