我试过在其他帖子中找到我的答案,并且可以找到点点滴滴,但不是完整的答案。所以,如果这是一个重复的问题,那么很抱歉 - 最好我可以告诉,事实并非如此。Javascript - 尝试延迟循环迭代
我试图完成三两件事:
- 延迟通过一个for循环迭代的itmes
- 上移动到下一个项目之前还原以前的项目到原来的状态之间1秒
- 最后一个项目后重新开始循环
我已经完成了第一个,但不知道如何完成下两个。
这里有一个打了折扣的代码示例:
HTML:
<p>First paragraph.</p>
<p>Second paragraph.</p>
<p>Third paragraph.</p>
<p>Fourth paragraph.</p>
<p>Fifth paragraph.</p>
<p>Sixth paragraph.</p>
<p>Seventh paragraph.</p>
<p>Eighth paragraph.</p>
<p>Nineth paragraph.</p>
<p>Tenth paragraph.</p>
CSS:
p.red {color: red;}
JS:
function addRed() {
var spans = $('p'),
count = spans.length,
delay = 1000;
for(var i = 0; i <= count; i++) {
(timer(i, spans, delay));
}
}
function timer(a, b, c) {
setTimeout(function() {
$(b[a]).toggleClass('red');
}, c * a);
} (0);
addRed();
我想第一个本例中的<p>
即可开启红色,等待一秒钟,然后将第二个红色变为红色并将第一个恢复到其原始状态。然后,一旦循环完成(遍历整个列表<p>
s),再次从顶部开始。即;一个重复的循环。
对不起,如果这是问三个单独的问题。将它们组合在一起会更容易,更合理。
这是我的fiddle。
作为最后一点,我没有被绑定到任何此代码。如果需要,我愿意改变它。
http://jsfiddle.net/arunpjohny/yuw7v5f4/ –