javascript - 每 5 秒循环执行一个函数,然后在上次执行后重置

标签 javascript jquery loops timer

我需要循环遍历函数 switch_tiles,以便该函数将作为 switch_tiles(1) 运行; switch_tiles(2);等等...但它需要每 5 秒 i++ 一次。我尝试将间隔放入循环内,但这也没有帮助。另外,在 i = 5 之后我希望它重置。

window.setInterval(function(){
 for(var i = 1; i < 5; i++){
   switch_tiles(i);
 }
}, 5000);

这就是该函数所做的全部工作,因此这对问题来说并不是太重要。只是为了上下文而添加的。

function switch_tiles(n){
  var last = $('.active').attr('id');
  $('#'+last).removeClass('fas');
  $('#'+last).removeClass('active');
  $('#'+last).addClass('far');

  $('.active_tile').fadeOut();
  $('#tile_' + n).fadeIn();

  $('#circle_' + n).removeClass('far');
  $('#circle_' + n).addClass('fas');
  $('#circle_' + n).addClass('active');
}

最佳答案

试试这个:

var i = 1;
function myFunction() {
  if (i > 5)
    i = 1;

  switch_tiles(i++);
  window.setTimeout(myFunction, 5000);      
}
myFunction();

关于javascript - 每 5 秒循环执行一个函数,然后在上次执行后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51754746/

相关文章:

javascript - 创建使用 ajax 更新 iframe 的链接

javascript - iframe 内的输入框未触发 FocusOut 事件

java - 循环没有为字符串分配正确的值

JavaScript setInterval() 方法无法按我的预期工作

PHP mail() BCC - 仅显示 To : header 中的最终收件人地址

javascript - 用于匹配名字后跟没有空格的正则表达式

javascript - 添加/删除规则后如何使用 jQuery 重新验证表单?

jquery - 使用 REST API 获取 SharePoint 列表的不同数据

javascript - 使用 jquery $.get() 传递数据

jQuery 按键仅在输入时提交