我的简单秒表有以下代码,它只计算秒数而没有任何格式:
function countDown(from, interval, callback) {
interval = interval || 1000;
var current = 0;
var onCount = function() {
current++;
if (current <= from) {
callback(current, from);
setInterval(onCount, interval);
}
}
onCount();
}
这是通过 onclick 调用的,代码如下:
countDown(600, 1000, function(current, from) {
time_out.innerHTML = current;
});
放入console.log(current),我可以看到两个问题。首先,虽然它确实遍历了每个数字,但它似乎变得越来越快,以 2 的幂为单位。在输出 div 中,第一个刻度为 1,第二个刻度为 2,第三个刻度为 4,第四个刻度为 8,依此类推。此外,当它达到 600 时,它实际上并没有停止计数,即使它停止更新 div。我在这里做错了什么?