Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-带延迟的连续遍历_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-带延迟的连续遍历

Javascript jQuery-带延迟的连续遍历,javascript,jquery,Javascript,Jquery,我有一堆标签,可以激活不同的内容页面,我希望它们自动循环,直到用户点击其中一个 $("#projects_list ul li a").each(function() { activatetab($(this)); }); 因此,我希望每隔5000毫秒执行一次activatetab($(this)),一旦最后一个选项卡被激活,它应该重新开始。可以这样做吗?我可能会创建一个函数,比如激活下一个选项卡(),然后在设置间隔()中调用它,同时跟踪上次激活的选项卡,然后查找下一个选项卡。。。但这很麻烦

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

$("#projects_list ul li a").each(function() {
 activatetab($(this));
});
因此,我希望每隔5000毫秒执行一次
activatetab($(this))
,一旦最后一个选项卡被激活,它应该重新开始。可以这样做吗?我可能会创建一个函数,比如
激活下一个选项卡()
,然后在
设置间隔()
中调用它,同时跟踪上次激活的选项卡,然后查找下一个选项卡。。。但这很麻烦。我想这样做

谢谢

类似于:

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
    将每5000ms重复一次该功能
  • i++
    将在每次通过时递增计数器,
    %l
    将确保您不会超过
    A
    和“旋转”的数量

您提到的解决方案可能并不优雅,但请记住,它仍然是一个解决方案。jQuery没有内置计时器或定期执行器。但是有可用的插件。谢谢,但这只是不断激活第一个元素,它不会转到第二个、第三个等。我不知道你在这里做了什么,所以我不知道如何修复它。谢谢,工作非常好。我仍然不知道你做了什么,但我会在头脑清醒时破译它。:)