@Logistic_head

Как вывести таймер истек вместо этого?

Добрый день вот кусок кода js таймера
function countdown(dateStr, displayElem, onTimerEnd = null) {
  let targetDate = new Date(dateStr).getTime();
  let displaySymbols = [...displayElem.querySelectorAll('.symbol .cur')]
  let prevValue = '      '
  let timer = setInterval(function() {
    let now = new Date().getTime();
    let remainingTime = targetDate - now;
    if (remainingTime <= 0) {
      clearInterval(timer) // stop timer
      if (onTimerEnd) {
        onTimerEnd() // run callback
      }
    }

    let formattedTimestr = format(remainingTime);
    updateDisplay(formattedTimestr);
  }, 1000);

  function format(time) {
    return [time % 86400000 / 3600000, // hours
        time % 3600000 / 60000, // minutes
        time % 60000 / 1000
      ] // seconds  
      .map(x => Math.floor(x).toString().padStart(2, '0'))
      .join('')
  }

  function updateDisplay(timeString) {
    displaySymbols.forEach((curSymbol, i) => {
      let newValue = timeString[i]
      let currentValue = prevValue[i]
      if (currentValue !== newValue) { // animated change
        let parent = curSymbol.parentNode
        parent.classList.remove('anim')
        curSymbol.textContent = newValue
        curSymbol.nextElementSibling.textContent = currentValue
        var foo = parent.offsetWidth; // reflow hack
        parent.classList.add('anim')
      }
    })
    prevValue = timeString
  }
}

Нужно когда таймер истек, вывести сообщение "Таймер истек "
Вместо этого сейчас на сайте вот такое:
62bb25490a285162013836.png
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
у вас есть коллбэк onTimerEnd. Вот в нем и делайте всё что нужно делать по окончанию таймера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы