停止for循环jquery

时间:2014-05-09 20:24:05

标签: javascript jquery html loops

previous question

我正在看这个问题,但我无法将其应用于我的问题。

这就是我想要做的事情:

  • 使用按钮启动
  • 循环一组html表
  • 使用其他暂停按钮暂停动画
  • 从中断的地方恢复动画

这与我正在处理的内容类似:fiddle 我目前的版本太麻烦了,不能做出更新的小提琴,但概念是一样的。我只是像最右边的滑块一样改变表格的内容。

以下是代码:

$('#Animate1').click(function(e){  //controls the tabR animation (top small table)
    for(i = 1; i < 37; i++){  //number of frames in the animation
        (function(i){   
            setTimeout(function(){  
                $('#amount1').val(i);  //this changes the number corresponding to the slider position 
                updateTable2(i);  //this updates the contents of the html table   
                updateHighlightedCell();  //this controls the "highlighted cells"
                $('#hSlider').slider({  animate:true,value: i});}, 1000 );  //this animates the slider
        }(i));  
    }   
});
  • 我也遇到了延误问题。我试图延迟进入循环,但似乎只是开始延迟。我希望能够稍微控制帧速率。

  • 我见过的许多例子都停止了无限循环,但我的是有限的。如何停止此循环并再次启动它?我的终极循环将有365个“框架”,所以它不会那么快。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我在您可能感兴趣的 JSFiddle 中制作了一个简单版本,并希望提取对您有帮助的组件。还提出了大量意见,以帮助理解这些内容。

我的方法背后的基本思想是将setInterval()作为你的for循环,每个循环一次,它将检查是否已经调用clearInterval()。你将有一个全球计数器来跟踪位置。