Почему не срабатывает setInterval

Вот мой код: setInterval() не обновляется. Только если перезагрузить страницу. код HTML

<div class="wrapper">
      <span class="days">00</span>
      <span class="hours">00</span>
      <span class="minutes">00</span>
      <span class="seconds">00</span>
    </div>

У меня есть функция которая считывает разницу в днях, часах, минутах и сeкундах который возвращает обьект с этими данными

const deadline = new Date("2024-05-31");
      const dayNow = new Date("2024-05-11");
      function getTimeRemaining(endTime) {
        const time = Math.abs(dayNow.getTime() - endTime.getTime()); // 1728000000
        const days = Math.floor(time / (1000 * 60 * 60 * 24)); // Math.floor(time / (1000 * 60 * 60 * 24))
        const hours = Math.floor((time / (1000 * 60 * 60)) % 24); // Math.floor((time / (1000 * 60 * 60)) % 24)
        const minutes = Math.floor(((time / 1000) * 60) % 60); // Math.floor((time / (1000 * 60)) % 60)
        const seconds = Math.floor((time / 1000) % 60); // Math.floor((time / 1000) % 60)
        return {
          time,
          days,
          hours,
          minutes,
          seconds,
        };
      }

Далее я создаю функцию (setClock) которая дает доступ к значениям внутри тега span. И в этой же функции я создаю новую функцию (updateClock) которая меняет значения в теге span. Далее я создаю setInterval где вызываю функцию (updateClock) каждую секунду. но у меня он не реаботает. А при обновлении я вижу как меняется значение в секундах.

  function setClock(selector, endTime) {
    const wrapper = document.querySelector(selector),
      days = document.querySelector(".days"),
      hours = document.querySelector(".hours"),
      minutes = document.querySelector(".minutes"),
      seconds = document.querySelector(".seconds");
    const setTimeInterval = setInterval(updateClock, 1000);

    function updateClock() {
      days.innerHTML = getTimeRemaining(endTime).days;
      hours.innerHTML = getTimeRemaining(endTime).hours;
      minutes.innerHTML = getTimeRemaining(endTime).minutes;
      seconds.innerHTML = getTimeRemaining(endTime).seconds;
    }
      updateClock();
  }
  setClock(".wrapper", deadline);

Ответы (0 шт):