我想创建一个js函数,从参数s倒计数到0。
并且在<p>
处显示 id = 计数时,该功能从按钮的onclick="countdown(60)"
开始,但不知何故它不起作用。
有人知道为什么?
谢谢你的帮助。
var count ;
function countdown(s){
count = s ;
while (s > 0) {
document.getElementById("count").innerText = count ;
setTimeout(tick(), 1000) ;
}
document.getElementById("count").innerText = "ready" ;
}
function tick (){
count -- ;
}
答案 0 :(得分:2)
几点:
你的while循环会立即堆叠Guava
个电话,因此它们会在1秒后全部开火。
致电setInterval
将立即执行setTimeout(tick()..
功能
请参阅以下内容:
tick
var countdown = function(s){
var c = document.getElementById("count");
var tick = function(){
c.innerText = s;
};
var ready = function(){
clearInterval(i);
c.innerText = "ready";
};
tick();
var i = setInterval(function(){
(s>0) ? function(){ s--;tick(); }() : ready();
}, 1000);
}
countdown(10);
答案 1 :(得分:0)
试试这个:
var count;
function countdown(s){
s = count; // reverse this line and it should work
while (s > 0) {
document.getElementById("count").innerText = count ;
setTimeout(tick(), 1000);
}
document.getElementById("count").innerText = "ready" ;
}
function tick (){
count -- ;
}
&#13;