当前位置:首页 > JavaScript

怎么实现秒表js

2026-02-02 22:25:26JavaScript

实现秒表的JavaScript代码

以下是一个简单的秒表实现,包含开始、暂停、重置功能:

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

// 初始化变量
let startTime = 0;
let elapsedTime = 0;
let timerInterval;
let running = false;

// 格式化时间为HH:MM:SS
function formatTime(time) {
    const date = new Date(time);
    const hours = date.getUTCHours().toString().padStart(2, '0');
    const minutes = date.getUTCMinutes().toString().padStart(2, '0');
    const seconds = date.getUTCSeconds().toString().padStart(2, '0');
    const milliseconds = Math.floor(date.getUTCMilliseconds() / 10).toString().padStart(2, '0');
    return `${hours}:${minutes}:${seconds}.${milliseconds}`;
}

// 开始计时
function startTimer() {
    if (!running) {
        startTime = Date.now() - elapsedTime;
        timerInterval = setInterval(() => {
            elapsedTime = Date.now() - startTime;
            display.textContent = formatTime(elapsedTime);
        }, 10);
        running = true;
    }
}

// 暂停计时
function pauseTimer() {
    if (running) {
        clearInterval(timerInterval);
        running = false;
    }
}

// 重置计时
function resetTimer() {
    clearInterval(timerInterval);
    running = false;
    elapsedTime = 0;
    display.textContent = '00:00:00.00';
}

// 添加事件监听
startBtn.addEventListener('click', startTimer);
pauseBtn.addEventListener('click', pauseTimer);
resetBtn.addEventListener('click', resetTimer);

HTML结构

<!DOCTYPE html>
<html>
<head>
    <title>秒表</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            margin-top: 50px;
        }
        #display {
            font-size: 48px;
            margin-bottom: 20px;
        }
        button {
            font-size: 16px;
            padding: 10px 20px;
            margin: 0 10px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="display">00:00:00.00</div>
    <button id="startBtn">开始</button>
    <button id="pauseBtn">暂停</button>
    <button id="resetBtn">重置</button>
    <script src="stopwatch.js"></script>
</body>
</html>

功能说明

  1. 开始功能:点击开始按钮后,秒表开始计时,精确到百分之一秒
  2. 暂停功能:点击暂停按钮可以暂停计时,再次点击开始会继续计时
  3. 重置功能:点击重置按钮将秒表归零,并停止计时

实现原理

  1. 使用Date.now()获取当前时间戳,计算经过的时间
  2. 通过setInterval每10毫秒更新一次显示
  3. 使用clearInterval停止计时器
  4. 通过padStart方法确保时间显示始终为两位数格式

扩展功能

如需添加更多功能,可以考虑:

怎么实现秒表js

  • 记录分段时间
  • 添加声音提示
  • 保存历史记录
  • 响应键盘快捷键

这个实现简单明了,适合初学者理解JavaScript计时器和DOM操作的基本原理。

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

相关文章

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…