Javascript 带延时、复位和重启的定时器?jQuery

Javascript 带延时、复位和重启的定时器?jQuery,javascript,jquery,timer,Javascript,Jquery,Timer,所以我基本上有一个计时器,每4秒计数一个数字。 当它达到10时停止 问:我如何使计时器在10点停止几秒钟,然后在1点重新开始计数 var i = 8; setInterval( increment, 4000); function increment(){ if(i<=10) { console.log(i); $('.increase').html('').append(i); i++; } } var i=8; 设置间隔(增量,4000); 函数增量(){ 如果(i使用其

所以我基本上有一个计时器,每4秒计数一个数字。 当它达到10时停止

问:我如何使计时器在10点停止几秒钟,然后在1点重新开始计数

    var i = 8;
setInterval( increment, 4000);
function increment(){
if(i<=10)
{
console.log(i);
 $('.increase').html('').append(i);
i++;
}

}
var i=8;
设置间隔(增量,4000);
函数增量(){

如果(i使用
其他

var counter = 0

function increment () {
  counter++

  if (counter <= 10) {
    console.log(counter)
  } else {
    clearInterval(incrementInterval)

    setTimeout(function () {
      incrementInterval = setInterval(increment, 4000)
    }, 10000)
  }
}

incrementInterval = setInterval(increment, 4000)
var计数器=0
函数增量(){
柜台++

如果(counter您可以这样做,即运行一个间隔计时器,直到达到最大计数,然后清除该计时器并启动一个新计时器,等待您要暂停的时间量,然后当延迟计时器启动时,您再次调用函数重新启动它

下面是一个有效的代码片段(为了演示,我在这里设置了较短的时间,但您可以将其设置为任何您想要的时间):

函数运行计时器(选择器、开始、结束、间隔、延迟){
var cntr=开始;
$(选择器).html(cntr);
var timer=setInterval(函数(){
++碳纳米管;
$(选择器).html(cntr);
如果(cntr>=结束){
清除间隔(计时器);
setTimeout(函数(){
运行计时器(选择器、1、结束、间隔、延迟);
},延误);
}
},间隔);
}
运行计时器('.rease',8,10,3002000);


8/10
太好了!但是,如果我设置“开始”值为8。在第一次计数后,它将跳到2。我如何解决这个问题?例如,startvalue:8->10。reset.1-10。@Joel-查看对我答案的更改。这将变为8-->10,然后在第一次计数后,它将变为1-->10。奖金:有可能在值为6时第二次停止代码吗?所以。8-10->reset.1->6。我尝试了:
setTimeout(function(){runTimer(selector,1,10,interval,delay);},delay);}runTimer('.increase',8,6,7500,10000);
@Joel-您应该能够自己根据需要修改代码-您可以向
runTimer()添加更多参数
如果你愿意的话。我不知道我是否完全理解你的要求,但这里有一个想法:嗨,再次感谢。我真的很感激你花时间来帮助我。我的意思是我只想让计时器重置一次。然后停在6,例如。所以。8->10。重置。1->6(停止).谢谢你的建议!我真的没有想到。但是,代码不起作用。你能提供一把小提琴吗?我有:)无论如何,另一个人已经解决了它。+有帮助!