当前位置:首页 > JavaScript

怎么实现秒表js

2026-04-07 16:13:01JavaScript

实现秒表的 JavaScript 代码

以下是一个简单的秒表实现,包含开始、暂停、重置功能,使用 HTML 和 JavaScript 完成。

HTML 结构

<div id="stopwatch">
  <div id="display">00:00:00</div>
  <button id="startBtn">开始</button>
  <button id="pauseBtn">暂停</button>
  <button id="resetBtn">重置</button>
</div>

CSS 样式(可选)

#stopwatch {
  text-align: center;
  margin: 50px auto;
  font-family: Arial, sans-serif;
}

#display {
  font-size: 48px;
  margin-bottom: 20px;
}

button {
  padding: 10px 20px;
  margin: 0 5px;
  font-size: 16px;
  cursor: pointer;
}

JavaScript 实现

// 获取DOM元素
const display = document.getElementById('display');
const startBtn = document.getElementById('startBtn');
const pauseBtn = document.getElementById('pauseBtn');
const resetBtn = document.getElementById('resetBtn');

let startTime;
let elapsedTime = 0;
let timerInterval;

// 格式化时间为HH:MM:SS
function formatTime(time) {
  const hours = Math.floor(time / 3600000);
  const minutes = Math.floor((time % 3600000) / 60000);
  const seconds = Math.floor((time % 60000) / 1000);

  return (
    String(hours).padStart(2, '0') + ':' +
    String(minutes).padStart(2, '0') + ':' +
    String(seconds).padStart(2, '0')
  );
}

// 更新显示
function updateDisplay() {
  const currentTime = Date.now();
  elapsedTime = currentTime - startTime;
  display.textContent = formatTime(elapsedTime);
}

// 开始计时
startBtn.addEventListener('click', () => {
  startTime = Date.now() - elapsedTime;
  timerInterval = setInterval(updateDisplay, 1000);
  startBtn.disabled = true;
  pauseBtn.disabled = false;
});

// 暂停计时
pauseBtn.addEventListener('click', () => {
  clearInterval(timerInterval);
  startBtn.disabled = false;
  pauseBtn.disabled = true;
});

// 重置计时
resetBtn.addEventListener('click', () => {
  clearInterval(timerInterval);
  elapsedTime = 0;
  display.textContent = '00:00:00';
  startBtn.disabled = false;
  pauseBtn.disabled = true;
});

// 初始化按钮状态
pauseBtn.disabled = true;

功能说明

  1. 开始功能:点击开始按钮后,计时器开始运行,显示从00:00:00开始递增的时间。
  2. 暂停功能:点击暂停按钮可以停止计时,再次点击开始可以继续计时。
  3. 重置功能:点击重置按钮将计时器归零,并停止当前计时。

高级功能扩展

如果需要更精确的计时(毫秒级),可以修改以下部分:

怎么实现秒表js

// 修改updateDisplay函数,增加毫秒显示
function formatTime(time) {
  const hours = Math.floor(time / 3600000);
  const minutes = Math.floor((time % 3600000) / 60000);
  const seconds = Math.floor((time % 60000) / 1000);
  const milliseconds = Math.floor((time % 1000) / 10);

  return (
    String(hours).padStart(2, '0') + ':' +
    String(minutes).padStart(2, '0') + ':' +
    String(seconds).padStart(2, '0') + '.' +
    String(milliseconds).padStart(2, '0')
  );
}

// 更新interval时间为更短间隔
timerInterval = setInterval(updateDisplay, 10);

注意事项

  1. 代码使用Date.now()获取当前时间戳,确保计时准确性。
  2. padStart()方法用于确保时间显示始终为两位数。
  3. 按钮状态管理防止用户误操作(如重复点击开始按钮)。
  4. 使用clearInterval()确保计时器正确停止,避免内存泄漏。

标签: 秒表js
分享给朋友:

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现dh

js实现dh

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

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…