Javascript 停止for循环-jquery
我一直在考虑这个问题,但我不能把它应用到我的问题上 以下是我想做的:Javascript 停止for循环-jquery,javascript,jquery,html,loops,Javascript,Jquery,Html,Loops,我一直在考虑这个问题,但我不能把它应用到我的问题上 以下是我想做的: 使用按钮循环浏览一组html表以开始 使用另一个“暂停”按钮暂停动画 在动画停止的位置继续播放动画 这与我正在研究的内容类似: 我目前的版本太笨重,无法更新小提琴,但概念是一样的。我会像最右边的滑块一样更改表的内容 代码如下: $('#Animate1').click(function(e){ //controls the tabR animation (top small table) for(i = 1; i
- 使用按钮循环浏览一组html表以开始
- 使用另一个“暂停”按钮暂停动画
- 在动画停止的位置继续播放动画
$('#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));
}
});
$('#Animate1')。单击(函数(e){//控制选项卡动画(顶部小表格)
对于(i=1;i<37;i++){//动画中的帧数
(职能(i){
setTimeout(函数(){
$('#amount1').val(i);//这会更改与滑块位置对应的数字
updateTable2(i);//这将更新html表的内容
updateHighlightedCell();//此选项控制“高亮显示的单元格”
$('#hSlider').slider({animate:true,value:i});},1000);//这将为滑块设置动画
}(i) );
}
});
- 我也遇到了延误的问题。我试图将延迟加入到循环中,但似乎只是开始延迟。我希望能稍微控制一下帧速率
- 我所看到的许多例子都停止了无限循环,但我的例子是有限的。如何停止此循环并重新启动它?我的终极循环将有365个“帧”,所以它不会那么快
任何帮助都将不胜感激。谢谢 我在中制作了一个简单的版本,介绍了您可能感兴趣的内容,并希望提取出对您有帮助的组件。他还发表了大量的评论来帮助理解这些作品
我的方法背后的基本思想是让
setInterval()
充当for循环,每个循环一次,它将检查是否对其调用了clearInterval()
。您将有一个全局计数器来跟踪位置。您应该使用每个动画的回调函数来启动下一个动画,而不是一次对它们进行调度。要停止循环,请让停止按钮的单击处理程序设置一个全局变量。然后让动画回调函数中的代码检查变量。我想我理解你的意思。我知道如何设置全局变量,但不确定此回调函数在原始函数的上下文中如何工作。当您决定停止它时,for循环已经完成。是的,在fiddle中它确实很快结束。这只是一个例子。在我的工作代码中,它是一个更长的循环,包含更多的表。我举这个例子来展示我的方法。谢谢你的评论。这有助于我更快地了解代码的含义!它与我的代码配合得很好。再次感谢!