jQuery - 如何使用开始/结束按钮创建函数循环?

时间:2013-02-07 12:57:09

标签: jquery function loops

我正在寻找一种方法来反复循环一个函数,直到它被一个按钮停止,然后它就可以恢复了。我谷歌并发现了一些结果,但它们仅限于循环特定功能..

那么有什么方法可以帮助我吗?

编辑:

它应该能够遍历项目列表

<ul>
    <li>
<ul>

并且转换应该是fadeOut然后淡入下一个li。

4 个答案:

答案 0 :(得分:0)

这应该是我认为的伎俩,

var yourFun = new function(){
   this.check = false;

   this.run(){
     if( !this.check ) {
       //do all your stuff here.
     }
  }
};

$("#button1").click(function(){ yourFun.run(); });

$("#button2").click(function(){ yourFun.check = true; });

答案 1 :(得分:0)

这很有效。

var runLoop;

$('#start').click(function() {
    runLoop = setInterval(function() {
        console.log('running');
    }, 100); // time in milliseconds between each loop
});

$('#stop').click(function() {
   clearInterval(runLoop);
});

http://jsfiddle.net/9H2PB/

答案 2 :(得分:0)

您可以使用jQuery每个函数来启动和停止循环http://api.jquery.com/each/

.each()方法旨在使DOM循环结构简洁且不易出错。调用时,它会迭代属于jQuery对象的DOM元素。每次回调运行时,都会从0开始传递当前循环迭代。更重要的是,回调是在当前DOM元素的上下文中触发的,因此关键字this指的是元素。

答案 3 :(得分:-1)

试试这个

Jquery的

$("#pause").click(function (){
if (pause){
    timer = setInterval(function(){$("#content").append("Hello world</br>")},1000);
    pause = false;
}
});
$("#resume").click(function(){
if (!pause){
    pause = true;
    clearInterval(timer);
}
});

See Demo