HTML页面实时显示时间需用JavaScript定时器,包括setInterval倒计时、setTimeout递归正计时、requestAnimationFrame平滑计时、Date同步计时及封装可复用Timer类五种方法。

如果您希望在HTML页面中实时显示经过的时间,则需要借助JavaScript的定时器机制来动态更新页面内容。以下是实现计时器功能的多种方法:
一、使用setInterval实现基础倒计时
该方法通过setInterval周期性调用函数,每次递减剩余时间并更新页面显示,适用于设定固定时长后的倒计时场景。
1、在HTML中添加一个用于显示时间的元素,例如: 00:00:00
2、在script标签内定义总秒数变量,如let totalSeconds = 180(表示3分钟)。
立即学习“前端免费学习笔记(深入)”;
3、使用setInterval每1000毫秒执行一次时间更新逻辑,将剩余秒数转换为时分秒格式。
4、当剩余秒数为0时,调用clearInterval停止定时器,并可触发完成提示。
二、使用setTimeout实现递归正计时
该方法利用setTimeout的单次执行特性,通过函数自调用形成循环,避免setInterval可能因执行延迟导致的时间漂移问题。
1、声明起始时间戳变量,例如let startTime = Date.now()。
2、定义一个名为updateTimer的函数,在其中计算当前已过去毫秒数并格式化为时分秒。
3、使用document.getElementById("timer").textContent = formattedTime更新显示区域。
4、在函数末尾调用setTimeout(updateTimer, 10),实现约10毫秒间隔的高精度计时更新。
三、基于requestAnimationFrame实现平滑计时显示
该方法利用浏览器重绘机制,在每次屏幕刷新时更新时间值,确保计时显示与视觉刷新同步,适合对流畅度要求较高的场景。
1、获取初始时间戳,使用performance.now()以获得更高精度。
标签: javascript es6 java html 浏览器 ai 格式化输出 重绘
还木有评论哦,快来抢沙发吧~