Задача:Сделать условия для таймера,при которых,когда время (counter) < 60 секунд,показывалось не в формате Минуты:Секунды,а только Секунды.
Проблема: Когда счётчик доходит до 61,после этого резко становится 59,игнорируя число 60,в консоли видно,что до 61 и консоль и счётчик действуют одновременно,но,когда в консоли доходит до 60 сам счётчик показывает 59,соответственно далее они показывают числа с разницей в 1,в чём может быть проблема?
Заранее спасибо.
var counter = 65; //время в сек.
function count() {
document.getElementById("count").innerHTML = parseInt(counter / 60) + " мин. " +
(counter % 60) + " сек.";
console.log(counter);
counter--; //уменьшение счетчика
if (counter < 60) {
document.getElementById("count").innerHTML = (counter % 60) + " сек.";
if (counter < 0) {
alert("Время на регистрацию истекло.");
window.location = "log.html";
}
};
setTimeout(count, 1000);
};
count();
Осталось: <span id="count"></span>
counter--; у Вас стоит в неправильном месте. Проследите логику при counter равном 60 на входе в функцию.
var counter = 65; //время в сек.
function count() {
document.getElementById("count").innerHTML =
parseInt(counter / 60) + " мин. " + (counter % 60) + " сек.";
console.log(counter);
if (counter < 60) {
document.getElementById("count").innerHTML = (counter % 60) + " сек.";
if (counter < 0) {
alert("Время на регистрацию истекло.");
window.location = "log.html";
}
};
counter--; //уменьшение счетчика - вот где надо
setTimeout(count, 1000);
};
count();
Осталось: <span id="count"></span>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей