Jquery 如何对setInterval循环应用多次

Jquery 如何对setInterval循环应用多次,jquery,setinterval,addclass,Jquery,Setinterval,Addclass,这里完全是新手。我有一个脚本,它使用setInterval过滤列表,并每隔2秒向每个列表项添加/删除一个类 如何编辑此脚本,以便为每个setInterval循环应用不同的时间 例如:对于第一个列表项,我希望setInterval(或延迟)为3秒,第二个列表项我希望它为1.5秒,依此类推,直到列表完成。。。我需要每个循环的计时方式不同。你怎么能做到这一点非常感谢您的帮助。 $(function() { var $list = $('#animation li'); $list.filter

这里完全是新手。我有一个脚本,它使用setInterval过滤列表,并每隔2秒向每个列表项添加/删除一个类

如何编辑此脚本,以便为每个setInterval循环应用不同的时间

例如:对于第一个列表项,我希望setInterval(或延迟)为3秒,第二个列表项我希望它为1.5秒,依此类推,直到列表完成。。。我需要每个循环的计时方式不同。你怎么能做到这一点非常感谢您的帮助。

$(function() {
var $list = $('#animation li');
    $list.filter(':first').addClass('go');

    setInterval(function() {
      if( $list.filter('.go').index() !== $list.length - 1 ) {
      $list.filter('.go').removeClass('go').next().addClass('go');
      }
    else {
      $list.removeClass('go').filter(':first').addClass('go');
      }
   }, 2000);

在setInterval内调用setInterval

var intervalFunc = new function(){
    if( $list.filter('.go').index() !== $list.length - 1 ) {
  $list.filter('.go').removeClass('go').next().addClass('go');
  }
else {
  $list.removeClass('go').filter(':first').addClass('go');
  }
  // Calculate the next time func
  var timeout = ...
  setInterval(intervalFunc, timeout);
}

setInterval(intervalFunc, 2000);

非常原始的示例,但仅显示方法:

var $list = $('#animation li');
var worker = function(){
  //
  // perform your process(es)
  //

  // only continue on if necessary
  if (continue_working)
    timer = setTimeout(worker, Math.random() * 5 * 1000);
}
var timer = setTimeout(worker, 2000);

// to stop at any time
clearTimeout(timer);

+我正在研究一个类似的答案。setTimeout是一种方法。这意味着通过第五个元素,您将把间隔设置为0.09秒。有一个衰减间隔的目的是什么?你会很快的结束一系列事件。做了一些数学计算,从3秒开始,你的函数需要6秒的时间才能持续激发到无穷大。嗨,伙计们,我在这里完全是个新手。我想setTimeout是个好办法,我不确定。我需要一个jquery脚本,它向列表项添加一个类,然后在预定时间后删除该类。它需要循环浏览大约10个列表项,每个列表项都有不同的时间延迟