0
背景:我正在使用jQuery向列表中的每個<a>
元素逐個添加類。我已經得到了addClass()
部分工作 - 在.highlighted
類添加到我的第一個<a>
,然後取出並加入到第二等將類添加到具有循環中的setInterval的數組
問題:我一直沒能得到addClass()
功能重複一旦到達最後的<a>
元素。我知道從搜索的SO setInterval()
是一種更好的方法來處理這個setTimeout()
,我最初使用,但我還沒有想出如何指定該功能需要重複。任何幫助感謝!
HTML:
<a id="1">one</a>
<a id="2">two</a>
<a id="3">three</a>
<a id="4">four</a>
<a id="5">five</a>
JS:
var index = 0;
var $aArray = $('a');
function highlight(i){
if(i>0){
$aArray.eq(i-1).removeClass('highlight');
}
if(i == $aArray.length){
return;
}
$aArray.eq(i).addClass('highlight');
setInterval(function() { highlight(i+1) },2500);
}
highlight(0);
更新執行刪除所有的全局變量。 – jfriend00
謝謝!是什麼讓setTimeout成爲更好的選擇? – Marcatectura
@Marcatectura - 你可以使用'setInterval()'或'setTimeout()'工作。我發現使用'setTimeout()'更容易,因爲當你想完成時,你不必跟蹤timerID來停止間隔計時器。 – jfriend00