Почему у меня не работает функция обратного отсчета? - PullRequest
2 голосов
/ 20 октября 2019

Я был так взволнован Рождеством, что решил, что лучше сделать обратный отсчет, чем создать таймер обратного отсчета до Рождества. Но мой обратный отсчет не работает.


let targetDate = new Date(null, 11, 31, 0, 0, 0, 0)

let today = new Date()

targetDate.setFullYear(today.getFullYear())

if (targetDate.getTime() - today.getTime() <= 0) {

    targetDate.setFullYear(today.getFullYear() + 1)

}

let timer = setInterval(() => {

    today = new Date()

    e = document.getElementById("countdown")

    if (targetDate.getTime() - today.getTime() == 0) {

        e.innerHTML = "Horray! Merry Christmas, Everyone! Horray!"

        clearInterval(timer)

    } else {

        distance = targetDate.getTime() - today.getTime()

        days = Math.floor(distance / (24 * 60 * 60 * 1000))

        distance -= day * 24 * 60 * 60 * 1000

        hours = Math.floor(distance / (60 * 60 * 1000))

        distance -= hours * 60 * 60 * 1000

        minutes = Math.floor(distance / (60 * 1000))

        distance -= minutes * 60 * 1000

        seconds = Math.floor(distance / 1000)

        e.innerHTML = days + " d " hours + " h " + minutes + " m " + seconds + " s "

    }

}, 1000)

Я попытался записать в консоль значение таймера, но код не отображался. Похоже, что код innerHTML не выполнялся.

Ответы [ 2 ]

2 голосов
/ 20 октября 2019

Посмотрите на эту строку

 e.innerHTML = days + " d " hours + " h " + mi

это должно быть

 e.innerHTML = days + " d " + hours + " h " + mi
0 голосов
/ 20 октября 2019

Я обнаружил проблему. Я ошибся день за днем ​​и забыл знак плюс.

...