当前位置:首页 > JavaScript

js实现计时

2026-02-02 09:18:37JavaScript

使用 setInterval 实现计时

通过 setInterval 可以创建一个周期性执行的计时器,适合持续更新显示时间。

let seconds = 0;
const timerElement = document.getElementById('timer');

const timer = setInterval(() => {
  seconds++;
  timerElement.textContent = `已计时: ${seconds} 秒`;
}, 1000);

// 停止计时
// clearInterval(timer);

使用 setTimeout 递归实现计时

通过递归调用 setTimeout 实现计时,避免 setInterval 可能因任务阻塞导致的时间偏差。

js实现计时

let seconds = 0;
const timerElement = document.getElementById('timer');

function updateTimer() {
  seconds++;
  timerElement.textContent = `已计时: ${seconds} 秒`;
  setTimeout(updateTimer, 1000);
}

updateTimer();

高性能计时(使用 Date 对象)

通过记录开始时间戳,结合 Date 对象计算精确耗时,适合需要高精度计时的场景。

js实现计时

const startTime = new Date().getTime();
const timerElement = document.getElementById('timer');

setInterval(() => {
  const currentTime = new Date().getTime();
  const elapsed = Math.floor((currentTime - startTime) / 1000);
  timerElement.textContent = `已计时: ${elapsed} 秒`;
}, 1000);

格式化时间显示(HH:MM:SS)

将秒数转换为更易读的 时:分:秒 格式。

function formatTime(seconds) {
  const hours = Math.floor(seconds / 3600);
  const minutes = Math.floor((seconds % 3600) / 60);
  const secs = seconds % 60;
  return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
}

// 使用示例
let seconds = 0;
setInterval(() => {
  seconds++;
  console.log(formatTime(seconds));
}, 1000);

暂停与恢复功能

通过变量控制计时器的暂停与恢复。

let seconds = 0;
let isPaused = false;
let timer;

function startTimer() {
  timer = setInterval(() => {
    if (!isPaused) {
      seconds++;
      console.log(`已计时: ${seconds} 秒`);
    }
  }, 1000);
}

function pauseTimer() {
  isPaused = true;
}

function resumeTimer() {
  isPaused = false;
}

startTimer();
// 暂停: pauseTimer();
// 恢复: resumeTimer();

标签: js
分享给朋友:

相关文章

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…