2015-10-01 59 views
0

我正在尝试制作脚本,该脚本的工作原理与点击次数一样的逐步滑块。主要目标是让LABEL成为点击的触发点。我编写了脚本,但是如何使它与循环一起工作:当它到达最后一个LABEL时,它首先进入循环?任何帮助? http://codepen.io/NeedHate/pen/ojBmXM如何循环脚本

$('label').each(function(i, e) { 
    var delay = 1000; 
    setTimeout(function() { 
    $('label').removeClass('button-checked'); 
    $(e).trigger("click").addClass('button-checked'); 

    }, i * delay); 
}); 

回答

1

你可以尝试

function changeTo(i) { 
    setTimeout(function() { 
     $("label").removeClass('button-checked');  
     $("label:eq(" + i%4 + ")").trigger("click").addClass('button-checked'); 
     changeTo(i+1); 
    }, 1000);  
} 
changeTo(0); 

EDIT(答案后续问题):

var loop = true; 

function changeTo(i) {  
    setTimeout(function() { 
     if (loop) { 
      $("label").removeClass('button-checked');  
      $("label:eq(" + i%4 + ")").trigger("click").addClass('button-checked'); 
      changeTo(i+1); 
     } 
    }, 1000); 
} 
changeTo(0); 

$(function() { 
    $('input[type=radio][name=sec-1]').click(function() { 
     loop = false; 
     $("label").removeClass('button-checked'); 
     $(this).prev("label").addClass('button-checked'); 
    }); 
}); 
+0

完美!感谢名单! 还有一个问题:如果我点击LABEL如何停止这个脚本? – NeedHate

+0

请参阅已编辑的答案以停止循环。 – alepeino

+0

棒极了!非常感谢你!你帮了我很多!干杯! ** UPD哦,如果我们不知道标签有多少元素? ** – NeedHate