我有一堆标签可以激活不同的内容页面,我希望它们能够自动循环,直到用户点击其中一个。
$("#projects_list ul li a").each(function() {
activatetab($(this));
});
所以我希望每隔5000毫秒执行一次activatetab($(this))
,一旦最后一个标签被激活,它应该重新开始。可以这样做吗?我可以创建一个像activate_next_tab()
这样的函数,然后在setInterval()
中调用它,同时跟踪哪个标签最后被激活然后找到下一个...但是这很麻烦。我想这样做。
由于
答案 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
是计数器l
是A
代码setInterval
将每5000毫秒重复一次功能i++
会在每次传递时递增计数器,% l
将确保您永远不会超过A
和“旋转”的数量