jQuery:AddClass每秒

时间:2014-05-09 16:05:18

标签: jquery jquery-plugins

我有一个jQuery航点触发器,我需要每隔一定时间向同一个元素添加一个新类。我如何在jQuery中设置类似函数的计时器?

1 个答案:

答案 0 :(得分:1)

给定一个类列表和一些元素,让我们称之为<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数组中添加所有类时取消间隔循环。