怎么从新开启定时器

写了一个5秒的倒计时,到零时候切换想要改变的样式,但是切换完我想让他重新开始倒计时,结束在开启样式。不知道这样写为啥不能开启,求大神帮助

  var count = 5;
  timer1 = setInterval(function(){
   count--;
if(count==-1){

    divs[0].style.display="none";
    divs[1].style.display="block";
    $('#container').height($('.question1').eq(1).height()+'px');
      clearInterval(timer1)
      document.getElementById('timer-down').innerHTML=5;
      setInterval(timer1);
}
else{
  document.getElementById('timer-down').innerHTML=count;
}

},1000);

阅读 2.2k
1 个回答
 var times = 0;
 function setTimer(){
    times ++ ;  
    var timer1 = setInterval(function(){
    if (count == -1) {
      divs[0].style.display = "none";
      divs[1].style.display = "block";
      $('#container').height($('.question1').eq(1).height()+'px');
      clearInterval(timer1);
      if (times >= 10) {
          return true;
      }
      count = 5;
      if(setTimer()){
          return true;
      }
    }
    else {
      document.getElementById('timer-down').innerHTML=count;
    }
    count--;
 }
 setTimer();

当然这样递归会一直往里执行,可以加个条件return回来,或者你只想执行固定次数,加个标志变量,return回来.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题