setInterval重置循环不起作用

Pep*_*epe 2 javascript jquery

我已经创建了以下函数从倒计时从5到0,但它没有在0处重新开始倒计时.我失败了什么?

JS:

var cc = 5;
var myTimer = setInterval(myFn, 1000);

function myFn() {
  document.getElementById("counter").innerHTML = -- cc;

  if (cc == 0) {
  clearInterval(myTimer);
  myTimer = setInterval(myFn, 1000);
  }

}
Run Code Online (Sandbox Code Playgroud)

HTML:

<span id="counter">5</span>
Run Code Online (Sandbox Code Playgroud)

And*_*myk 5

您正在清除间隔并使用相同的回调设置另一个间隔,但您永远不会恢复cc变量的值!

var cc = 5;
var myTimer = setInterval(myFn, 1000);

function myFn() {
  document.getElementById("counter").innerHTML= --cc;

  if (cc == 0) {
    clearInterval(myTimer);
    cc = 5;
    myTimer = setInterval(myFn, 1000);
  }

}
Run Code Online (Sandbox Code Playgroud)
Countdown: <span id="counter">5</span>
Run Code Online (Sandbox Code Playgroud)