我在 Javascript 的数字时钟项目上工作,我遇到了这个问题,我想每 1 秒调用一次函数,但是 setinterval 不起作用

I work on digital clock project with Javascript and I have this issue, I want to call function in every 1 second but, setinterval doesnt work

这是我的 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();

如评论所述,您需要将日期对象移动到间隔函数中。 否则当你实例化日期对象时,它将是静态的,秒数不会增加。

这是它的一个片段。

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>