0
我有一个脚本,通过一堆列表项循环;添加/删除每个人。现在它只是无休止地循环,我怎么能改变这个脚本,以便它在到达最后一个列表项时停止?停止setTimeout循环当它到达列表结尾
http://jsfiddle.net/bizarroZ/YyDjW/
<style type="text/css" media="screen">
li {display:none;} .go {color:green;display:block}
</style>
<ul>
<li>First Slide</li>
<li>Second Slide</li>
<li>Third Slide</li>
<li>Fourth Slide</li>
<li>Fifth Slide</li>
<li>Sixth Slide</li>
</ul>
<a href="#" class="go-button">GO!</a>
<script type="text/javascript" charset="utf-8">
$(".go-button").click(function() {
$("li:nth-of-type(1)").addClass("go");
var index = 0;
var length = $("ul").children().length;
var delays = [
1000,
1500,
2000,
2500,
3000,
15000
];
function delayNext()
{
setTimeout(function() {
$("ul li:eq(" + index + ")").addClass("go").siblings().removeClass("go");
index++;
if (index == length)
index = 0;
delayNext();
}, delays[index]);
}
delayNext();
});
</script>
你不是已经问一个相同的问题吗? – 2011-02-12 23:30:42
修复你的代码的格式,你应该看到* *的问题是什么。 – 2011-02-12 23:36:44