0
我有一個jQuery航點觸發器,我需要每隔一段時間向同一個元素添加一個新類。我如何在jQuery中設置一個類似於函數的計時器?jQuery:AddClass每秒
我有一個jQuery航點觸發器,我需要每隔一段時間向同一個元素添加一個新類。我如何在jQuery中設置一個類似於函數的計時器?jQuery:AddClass每秒
鑑於類和某些元素的列表,讓調用它<div id="myEl"></div>
,你可以做到以下幾點:
var $el = $('div#myEl'),
classes = ['red', 'green', 'blue', 'yellow'],
interval = window.setInterval(function() {
if (classes.length === 0)
window.clearInterval(interval);
$el.addClass(classes.shift());
}, 1000);
這裏有一個DEMO
的關鍵是使用window.setInterval(fn, interval)
,它接受一個回調函數fn
每interval
毫秒執行一次。你會注意到我在classes
數組爲空時在這裏添加了一個條件行。
基本上,window.setInterval
函數返回一個唯一的整數id,它對應於您實例化的新時間間隔。要取消間隔(假設您不希望它永久運行),只需將此ID傳遞給window.clearInterval
函數即可。在這種情況下,我想在添加classes
數組中的所有類時取消間隔循環。
https://developer.mozilla.org/en-US/docs/Web/API/Window.setInterval – smerny