我正在尝试创建一个简单的循环,它将循环并且可以停止并启动。
我试着称自己为这个
var theloop = (function(){
var theloop = (function(){
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500);
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem+1).addClass('current').fadeIn(500);
$('#gs-controls ul li').eq(currentItem).removeClass('current');
$('#gs-controls ul li').eq(currentItem+1).addClass('current');
if (currentItem == items -1){
currentItem = 0;
theloop();
}
else {
currentItem++;
theloop();
}
});
这只是错误,因为我想它陷入了一些无限循环
我也试过
var theloop = setInterval(function(){
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500);
$('#gs-controls ul li').eq(currentItem).removeClass('current');
if (currentItem == items -1){
currentItem = 0;
}
else {
currentItem++;
}
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).addClass('current').fadeIn(500);
$('#gs-controls ul li').eq(currentItem).addClass('current');
}, 5000);
但这不能轻易停止和启动。
任何人都可以向我展示一个基本的循环,这个循环会一直持续到你停止它,或者是上面两个中的一个可以通过一点点的修补工作吗?
由于
答案 0 :(得分:0)
试试这个:
var cycler = true;
var theloop = (function(){
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500);
$('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem+1).addClass('current').fadeIn(500);
$('#gs-controls ul li').eq(currentItem).removeClass('current');
$('#gs-controls ul li').eq(currentItem+1).addClass('current');
if (currentItem == items -1){
currentItem = 0;
}
else {
currentItem++;
}
if(cycler) theloop();
});
这使您有机会停止无限循环。当您需要停止循环时,将一些按钮或代码设置为 false 。