【发布时间】:2017-03-20 02:27:58
【问题描述】:
我知道标题听起来很复杂,但我想要实现的目标应该很简单。
好的,假设您使用 jQuery each 循环来循环任何内容(不管是什么)。然后在特定迭代之后,您希望循环索引重置并开始重新计数,而不是仅仅计数。您将如何实现这一目标?
所以为了这个例子,我只是做了一个简单的列表项,我正在循环遍历,在第 4 次迭代之后,我希望索引回到 0 并再次计数,而不是 5 、 6 、 7 ,8 , 9
JSfiddle: https://jsfiddle.net/b9de1xr0/
在我上面的 JSfiddle 中,您会看到循环中的索引被注销到控制台,如下所示 0, 1, 2, 3, 4, ,5 ,6 ,7 ,8 ,9。现在我正在尝试使它在索引大于 4 后循环内的索引将重新启动并显示如下 0, 1, 2, 3, 4, 0, 1, 2, 3, 4
我怎样才能做到这一点?
我的简单 Javascript:
$('li').each(function(i){
if(i <= 4){
console.log(i);
}
if(i > 4){
console.log(i); //want it to restart the index back at 0 here
}
});
谢谢!
【问题讨论】:
-
@gyre 不应该是一个无限循环,因为它的迭代次数与元素数量(即 10 li 元素)一样多
-
我误解了你的意图。我以为您想重新启动循环,而不是使用索引记录不同的模式。请参阅下面的答案。
-
demo这是你想要的吗?
-
不能重启
i,是回调参数,你不控制,本例jquery可以 -
因为它实际上不需要成为索引,所以您可以声明一个计数器并在第 5 次迭代时将其重置为 0。
标签: javascript jquery html loops indexing