用 setinterval 每秒更新 innerhtml 是最直接的实时时间显示方案,核心是将 new date() 放在回调内并用 tolocaletimestring() 格式化,注意 dom 就绪、跨浏览器兼容及后台节流问题。

用 setInterval 每秒更新 innerHTML 最直接
浏览器里动态显示实时时间,核心就两步:获取当前时间、定时刷新。不用框架、不依赖外部库,原生 JavaScript 就够用。setInterval 是最稳妥的选择——它比 setTimeout 递归调用更省心,也比监听系统时钟事件更可靠。
常见错误是把 new Date() 写在定时器外面,结果时间只取了一次,页面永远不动。必须把时间获取逻辑放在定时器回调里。
示例代码(直接贴进 HTML 的 <script></script> 中即可运行):
const timeEl = document.getElementById('time');
setInterval(() => {
const now = new Date();
timeEl.innerHTML = now.toLocaleTimeString(); // 自动适配本地格式,如 "14:23:05"
}, 1000);
-
toLocaleTimeString()比手动拼接getHours()/getMinutes()更省事,也自动处理 12/24 小时制和 AM/PM - 别用
document.write(),它会清空整个页面 - 确保 DOM 元素已存在——脚本放
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











