jQuery - 延迟遍历

时间:2010-11-01 19:37:40

标签: javascript jquery

我有一堆标签可以激活不同的内容页面,我希望它们能够自动循环,直到用户点击其中一个。

$("#projects_list ul li a").each(function() {
 activatetab($(this));
});

所以我希望每隔5000毫秒执行一次activatetab($(this)),一旦最后一个标签被激活,它应该重新开始。可以这样做吗?我可以创建一个像activate_next_tab()这样的函数,然后在setInterval()中调用它,同时跟踪哪个标签最后被激活然后找到下一个...但是这很麻烦。我想这样做。

由于

1 个答案:

答案 0 :(得分:5)

类似的东西:

var as = $("#projects_list ul li a"), i = 0, l = as.length;
setInterval(function(){
  activatetab($(as[i++ % l]))
}, 5000)

一些解释:

  • as是一个jQuery对象,其中包含所有A标记
  • 的列表
  • i是计数器
  • lA代码
  • 的数量
  • setInterval将每5000毫秒重复一次功能
  • i++会在每次传递时递增计数器,% l将确保您永远不会超过A和“旋转”的数量