当前位置:首页 > JavaScript

用js实现秒表

2026-02-02 23:25:26JavaScript

使用JavaScript实现秒表

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

用js实现秒表

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美化秒表界面:

用js实现秒表

#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函数和显示格式:

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实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

使用js实现

使用js实现

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

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现文字滚动

js实现文字滚动

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