jquery - .每个都不会不断循环
问题描述
我的印象是.each会不断循环遍历一个序列,直到它被明确告知要通过返回 false 来停止?但是,下面的脚本正确地循环遍历了我的每个“ticker-item”元素,但是在最后一个元素之后不会重复?
<script>
var a = [];
$(".ticker-item").each(function(index) {
a[index] = $(this);
setTimeout(function() {
a[index].addClass('current').delay(8e3).queue(function(next) {
a[index].removeClass('current');
return;
next();
});
}, index * 8e3);
});
</script>
如何让这个脚本循环回来并在第一个循环后将“当前”添加到第一个项目?
解决方案
我认为你假设$.each
做的比你期望的要多。
例如:
<ul>
<li class="ticker-item">1</li>
<li class="ticker-item">2</li>
<li class="ticker-item">3</li>
<li class="ticker-item">4</li>
</ul>
// Loop through each
$('.ticker-item').each((i) => {})
以上将遍历每个股票项目一次。如果您添加/删除/更新/计时器/等。您将不得不$.each
再次调用以运行代码。
一个粗略的例子:
function doSomethingtoList() {
$('.ticker-item').each(() => /*blah blah*/)
}
// Loop every 5 secs.
setInterval(doSomethingToList, 5000)
推荐阅读
- javascript - ag-Grid React (18):如何限制/抑制单元格复制?
- go - 未导入文件的 Webpack 自动重新加载
- regex - 正则表达式使用 grep 在 js 文件中查找空函数
- docker - 使用 nginx 入口控制器公开 TCP 流量
- postman - 邮递员获取多值cookie
- laravel - laravel 雄辩的关系对于许多表
- iphone - 我应该如何在没有 rootfs 备份的情况下越狱 Unc0ver 越狱 iphone?
- r - 如何对R中的多列执行log+1转换
- javascript - 开玩笑 - 模块导出/解构导致 requireActual 不起作用或无法拦截原始模拟方法?
- python - 单击输入时python终端关闭