如何在点击按钮时停止计时器并在php javascript中获取计时器值

时间:2015-09-14 08:55:48

标签: javascript php timer

var n = 60;
setTimeout(countDown, 1000);
function countDown(){
    n--;
    if (n > 0){
        setTimeout(countDown, 1000);
    }
    //alert(n);
    document.getElementById("div_timer").innerHTML = n; 
}            

这是我倒数计时器的代码。单击提交按钮时,我需要停止计数器运行,并应返回计数器值。请帮忙......

1 个答案:

答案 0 :(得分:1)

不使用setTimeout,而是使用setInterval并将其分配给变量,因此您可以通过传递您定义为参数的变量来使用clearInterval清除它。

例如:

var n = 10; 
var f = setInterval(function() { 
    console.log("foo"); 
    n--; 
    if (n<=0) { 
        clearInterval(f) 
    }
}, 1000);

然后在按钮点击处理程序中,只需执行

clearInterval(f) 

您将获得正确的 n 值。

另请注意,在我的示例中,间隔的第一步发生在1s后,技术上使得 n 在11s后达到0,而不是10。

对于以下内容,因为您的标题有点奇怪(javascript php?),在获得 n 值后,向 n value <的某个php服务器发出Ajax请求/ strong>作为参数。但我认为这应该属于另一个问题。