所以,我有一个功能,我想计算秒数。该函数开始正常计算秒数,但是当我再次启动该函数时,秒数会更快。我不知道这是什么。
var seconds = 0;
function newCall() {
var min = 3000;
var max = 20000;
var rand = Math.floor(Math.random() * (max - min + 1) + min);
console.log("TEST - random time: " + rand);
seconds = 0;
setInterval(timer, 1000);
setInterval(newCall, rand);
}
newCall();
function timer() {
seconds++;
console.log("test " + seconds);
}
答案 0 :(得分:0)
您的问题的评论解释了我的答案,但我在代码中添加了两条评论以提供帮助。 请查看以下代码是否符合您的要求。
var seconds = 0;
var time;
function newCall() {
clearInterval(time); //CLEAR THE INTERVAL TO AVOID MANY INTERVALS AT SAME TIME
var min = 3000;
var max = 20000;
var rand = Math.floor(Math.random() * (max - min + 1) + min);
console.log("TEST - random time: " + rand);
seconds = 0;
time = setInterval(timer, 1000); //CHANGED HERE
setTimeout(newCall, rand);
}
newCall();
function timer() {
seconds++;
console.log("test " + seconds);
}