我正在寻找一种方法来一遍又一遍地循环一个函数,直到它被一个按钮停止,然后它可以恢复。我用谷歌搜索并找到了一些结果,但它们仅限于循环特定功能..
那么有什么方法可以帮助我吗?
编辑:
它应该能够遍历项目列表
<ul>
<li>
<ul>
并且过渡应该是用fadeOut然后fadeIn在下一个li。
我认为这应该可以解决问题,
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; });
这行得通。
var runLoop;
$('#start').click(function() {
runLoop = setInterval(function() {
console.log('running');
}, 100); // time in milliseconds between each loop
});
$('#stop').click(function() {
clearInterval(runLoop);
});
您可以使用 jQuery 每个函数来启动和停止循环http://api.jquery.com/each/
该.each()
方法旨在使 DOM 循环结构简洁且不易出错。当被调用时,它会遍历作为 jQuery 对象一部分的 DOM 元素。每次回调运行时,都会传递当前循环迭代,从 0 开始。更重要的是,回调是在当前 DOM 元素的上下文中触发的,因此关键字 this 指的是该元素。
像这样试试
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);
}
});