Javascript倒计时

时间:2016-10-05 14:57:44

标签: javascript for-loop

我正在创建一个简单的javascript文件,从20到0倒计时。我坚持如何解决它。这是我的代码,非常感谢任何帮助!



   var count;
   document.write("Starting Loop" + "<br />");
   for (count = 20; count <= 0; count++) {
     document.write("Current Count : " + count + "<br / >");

     //document.write("<br />");
   }

   document.write("Loop stopped!");
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

for循环中的三个子句告诉以下事项(按顺序):

  • 初始值是多少?
  • 我要继续多久?
  • 我每次迭代都会改变什么?

在你的特定情况下,你在20开始计数,只要计数小于或等于0,你就会继续循环,并且每次循环时你都会在计数中加1 。由于第二个子句的计算结果为false,因此for循环不会运行!

您正在寻找的内容应该更像是:

for (count = 20; count >= 0; count--)

这将在20开始计数,只要计数大于或等于0就继续计数,并在每次迭代时从计数中减去1。

全部放在一起......

var count;
document.write("Starting Loop" + "<br />");

for (count = 20; count >= 0; count--) {
  document.write("Current Count : " + count + "<br / >");
}

document.write("Loop stopped!");

答案 1 :(得分:2)

您可以使用setTimeout和递归功能。

setTimeout取两个参数,执行的函数和执行前的ms时间。在这里,您可以选择每次迭代之间的延迟。

var counter=20;
function countdown(counter)
{
  if(counter>0)
  {
      counter--;
      setTimeout(function(){countdown(counter)},1000);
      console.log(counter);
  }
}

countdown(counter);

答案 2 :(得分:1)

你问题是计数器是错误的。

for(count = 20; count <= 0; count++)

这是从count = 20开始,直到count小于或等于零,每次加1来计数。这没有任何意义。

这是你应该使用的。

    document.write("Starting Loop" + "<br />");
    for (var count = 20; count >= 0; count--) {
      document.write("Current Count : " + count + "<br / >");

      //document.write("<br />");
    }

    document.write("Loop stopped!");