具有Javascript功能的倒计时参数

时间:2016-10-05 07:29:11

标签: javascript html

我想创建一个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 -- ; 
}

2 个答案:

答案 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)

试试这个:

&#13;
&#13;
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;
&#13;
&#13;