当前位置:首页 > JavaScript

用js实现秒表

2026-02-02 23:25:26JavaScript

使用JavaScript实现秒表

以下是一个简单的秒表实现,包含开始、暂停和重置功能。代码使用HTML和JavaScript结合,通过DOM操作更新显示。

HTML结构

<div id="stopwatch">
    <div id="display">00:00:00</div>
    <button id="start">开始</button>
    <button id="pause">暂停</button>
    <button id="reset">重置</button>
</div>

JavaScript实现

let timer;
let hours = 0;
let minutes = 0;
let seconds = 0;
let isRunning = false;

const display = document.getElementById('display');
const startBtn = document.getElementById('start');
const pauseBtn = document.getElementById('pause');
const resetBtn = document.getElementById('reset');

function updateDisplay() {
    display.textContent = 
        `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
}

function incrementTime() {
    seconds++;
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
    }
    if (minutes >= 60) {
        minutes = 0;
        hours++;
    }
    updateDisplay();
}

startBtn.addEventListener('click', () => {
    if (!isRunning) {
        timer = setInterval(incrementTime, 1000);
        isRunning = true;
    }
});

pauseBtn.addEventListener('click', () => {
    clearInterval(timer);
    isRunning = false;
});

resetBtn.addEventListener('click', () => {
    clearInterval(timer);
    hours = 0;
    minutes = 0;
    seconds = 0;
    updateDisplay();
    isRunning = false;
});

功能说明

  • 开始按钮:启动计时器,每秒更新一次显示。
  • 暂停按钮:停止计时器,保留当前时间。
  • 重置按钮:停止计时器并将时间重置为00:00:00。

样式增强(可选)

可以添加CSS美化秒表界面:

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

#display {
    font-size: 2em;
    margin: 20px;
}

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

扩展功能

如果需要更精确的计时(如毫秒),可以修改incrementTime函数和显示格式:

用js实现秒表

let milliseconds = 0;

function updateDisplay() {
    display.textContent = 
        `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}.${milliseconds.toString().padStart(3, '0')}`;
}

function incrementTime() {
    milliseconds += 10;
    if (milliseconds >= 1000) {
        milliseconds = 0;
        seconds++;
    }
    // 其余逻辑不变
    updateDisplay();
}

// 将setInterval时间改为10ms
timer = setInterval(incrementTime, 10);

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

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…

js实现排序

js实现排序

数组排序方法 JavaScript提供了内置的sort()方法用于数组排序。默认情况下,sort()将元素转换为字符串并按照Unicode码点排序。对于数字排序,需传入比较函数。 const num…