-3

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

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

编辑:

它应该能够遍历项目列表

<ul>
    <li>
<ul>

并且过渡应该是用fadeOut然后fadeIn在下一个li。

4

4 回答 4

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; });
于 2013-02-07T13:02:06.650 回答
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/

于 2013-02-07T13:05:27.713 回答
0

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

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

于 2013-02-07T13:12:12.847 回答
-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);
}
});

看演示

于 2013-02-07T13:07:58.613 回答