Таймер на js,проблема с функцией

265
02 декабря 2017, 08:09

Задача:Сделать условия для таймера,при которых,когда время (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>

Answer 1

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>

READ ALSO
url картинки в img

url картинки в img

В avatarfull лежит url картинки

244
Вывод других HTML страниц с кнопок в нужном месте во фрейме

Вывод других HTML страниц с кнопок в нужном месте во фрейме

Согласен, вопрос избитый и, в какой-то степени, глупый, но тем не менее, не могу с ним справиться

274
Выравнить два блока по нижнему краю

Выравнить два блока по нижнему краю

Всем привет! Я backend-щик, а поставили задачу по версткеИмеется два блока A и Б, у которых может быть разная высота

255
Восстановление файла css

Восстановление файла css

Нужен срочный хелп ребятРешил переписать файл css на less, скопировал не весь код и он его в него же скомпилировал, естественно старый код затерся

261