javascript - 如何在列表中的按钮上按间隔进行触发点击

标签 javascript jquery triggers intervals

我有一个带有按钮的列表。我想按顺序对每个按钮进行间隔触发,如果达到最后一个间隔,它会再次开始。

setInterval(function() {
  $('button').trigger('click');
}, 5000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li><button></button></li>
  <li><button></button></li>
  <li><button></button></li>
  <li><button></button></li>
  <li><button></button></li>
</ul>

最佳答案

要实现这一点,您只需要一个变量来跟踪应单击哪个按钮,然后使用 eq() 按索引选择 button:

let index = 0, $buttons = $('button');

setInterval(function() {
  $buttons.eq(index % $buttons.length).trigger('click');
  index++;
}, 1000);

// to test:
$('button').on('click', function(i) {
  console.log(`Button ${this.id} was clicked`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li><button id="1"></button></li>
  <li><button id="2"></button></li>
  <li><button id="3"></button></li>
  <li><button id="4"></button></li>
  <li><button id="5"></button></li>
</ul>

值得注意的是,触发 click 事件不一定是实现您所需的最佳方法。我建议直接调用一个函数。

关于javascript - 如何在列表中的按钮上按间隔进行触发点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59103251/

相关文章:

javascript - 我想按 jquery 的顺序播放多个 mp3

mysql - 使用 MySQL 触发器在插入时创建数据库

javascript - 添加具有不同查询的列表项

javascript - 无法使用 RegExp 将空格替换为零宽度空格

jquery - 在 $.each() 中打乱多个数组

javascript - jQuery .click 方法不会为列表项触发

php - Mysql Trigger-结果由多行组成

json - 如何将数据从 CosmosDB 中的文档传输到 Azure SQL 数据库?

javascript - Node JS Express 未定义回调

javascript - JQuery 日期选择器无法使用 css 正确显示