var n = 60;
setTimeout(countDown, 1000);
function countDown(){
n--;
if (n > 0){
setTimeout(countDown, 1000);
}
//alert(n);
document.getElementById("div_timer").innerHTML = n;
}
这是我倒数计时器的代码。单击提交按钮时,我需要停止计数器运行,并应返回计数器值。请帮忙......
答案 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>作为参数。但我认为这应该属于另一个问题。
溴