我正在创建一个简单的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;
答案 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!");