我有一个简单的时钟来计算完成 AJAX 调用所经过的秒数。每个请求需要不同的时间范围,并且可以在同一页面上发出不同的请求而无需刷新。
我正在使用 jquery 显示当前请求的计时器,但我无法找到一种方法将每个新请求的计时器清除回 0。
$(document).ready(function(){
$('#startTimer').click(function(){
var sec = 0;
var siID = setInterval(function() {$('#counter span').text(++sec);}, 1000);
})
});
JSFIDDLE:点击点击
在您第一次按下“开始”按钮后,问题可以重现。您将看到从 0 开始的第二个计数器,同时初始计数器将继续递增并显示。
我需要的是:
1-可以再次按下开始按钮并每次从0重新开始清洁
2-可以按下停止和重置按钮将计数器重置为 0,然后按下开始按钮开始新的清洁计数器
我不想要的:
1 - 函数中的计数器在特定秒后结束,if(sec == 20){die();};
每个请求的时间长度不同,因此这不起作用
2 - 运行另一个函数并让计时器在后台静默运行,直到页面重新加载
我到处玩clearInterval()
,却什么也做不了……
感谢您的时间和建议!