#javascript #function #setinterval
#javascript #функция #setinterval
Вопрос:
вот мой код javascript, который я не включил в HTML-файл, потому что все просто. время отображается на веб-странице, но секунды не работают
const hour = document.querySelector(".hour");
const minute = document.querySelector(".minute");
const seconds = document.querySelector(".seconds");
const timeZone = document.querySelector(".timeZone");
const date = new Date();
setInterval(setTime, 1000);
function setTime() {
hour.innerHTML = date.getHours() " : ";
minute.innerHTML = date.getMinutes() " : ";
seconds.innerHTML = date.getSeconds();
}
setTime();
Комментарии:
1. Вы используете статическое
Date
значение, его значения не изменятся. Вам нужно создать новыйDate
внутри вашегоsetTime()
метода и получить его часы, минуты и секунды
Ответ №1:
Как упоминалось в комментариях, вам нужно переместить ваш объект date в вашу интервальную функцию. В противном случае, когда вы создадите экземпляр объекта date, он будет статичным, и секунды не будут увеличиваться.
Вот фрагмент его работы.
const hour = document.querySelector(".hour");
const minute = document.querySelector(".minute");
const seconds = document.querySelector(".seconds");
const timeZone = document.querySelector(".timeZone");
debugger
setInterval(setTime, 1000);
function setTime() {
let date = new Date();
hour.innerHTML = date.getHours() " : ";
minute.innerHTML = date.getMinutes() " : ";
seconds.innerHTML = date.getSeconds();
}
setTime()
<span class="hour"></span>
<span class="minute"></span>
<span class="seconds"></span>
<span class="timeZone"></span>
Комментарии:
1. Большое вам спасибо