setTimeout里面的for循环

时间:2015-03-04 20:14:20

标签: javascript loops for-loop timeout

代码:

for(var a=0;a<=60;a++){
    setTimeout(function(){
        document.getElementById("a").innerHTML=a;
    },1000);
}

显示61完全没有延迟。我看不出有什么理由会这样做......

1 个答案:

答案 0 :(得分:0)

您要实现的目标显然是setInterval的实现。

  var a = 0;

  function displayIncreament() {
    if (a <= 60) {
      document.getElementById("a").innerHTML = a;
      a++;
    } else {
      clearInterval(IncreamentInterval)
    }

  }

  var IncreamentInterval = setInterval(displayIncreament, 1000)
<span id="a"></span>