Я пытаюсь создать счетчик javascript, который начинается через 25 минут и заканчивается на 0. Идея состоит в том, чтобы показать минуты/секунды как часы обратного отсчета на странице (мой целевой div называется 'txt'). Но я не получаю желаемого результата - таймер не вычитает каждый раз, когда функция запускается (каждый мс). Любые идеи о том, где я ошибаюсь? Код ниже:Рекурсивный таймер обратного отсчета
function countdown() {
var target = 1500000; // 25 mins
var current = 1000; // 0 secs
for (var i=0; i<5; i++) {
var diff = target-current; // calculates the 25 minutes
var min = Math.floor(diff/1000/60); //gets mins
var sec = (diff/1000) % 60; // gets secs
current = current+1000;
document.getElementById("txt").innerHTML = min + ":" + sec;
var t = setTimeout(countdown, 2500);}
}
}
Возможный дубликат (http://stackoverflow.com/questions/20618355/the -simplest-possible-javascript-countdown-timer) – dippas
Как только ваша проблема исправлена, вы должны вызывать только * setTimeout *, если 'diff> = 0', в противном случае он будет работать без необходимости. – RobG
@ RobG - спасибо. Да добавит, что он остановится, когда diff достигнет 0. – vaspv