请使用js实现一个秒表计时器的程序

187 阅读2分钟

"```markdown

使用JavaScript实现秒表计时器

在本节中,我们将使用JavaScript创建一个简单的秒表计时器。这个计时器将包含开始、停止和重置功能,用户可以通过按钮来控制计时器的操作。

HTML结构

首先,我们需要一个基本的HTML结构,包括显示时间的区域和三个按钮。

<!DOCTYPE html>
<html lang=\"zh\">
<head>
    <meta charset=\"UTF-8\">
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
    <title>秒表计时器</title>
    <style>
        #display {
            font-size: 48px;
            margin-bottom: 20px;
        }
        button {
            font-size: 20px;
            margin: 5px;
        }
    </style>
</head>
<body>
    <div id=\"display\">00:00:00</div>
    <button id=\"startBtn\">开始</button>
    <button id=\"stopBtn\">停止</button>
    <button id=\"resetBtn\">重置</button>

    <script src=\"timer.js\"></script>
</body>
</html>

JavaScript代码

接下来,我们需要实现计时器的逻辑。创建一个名为timer.js的JavaScript文件,并添加以下代码:

let timer;
let elapsedTime = 0; // 经过的时间(以毫秒为单位)

const display = document.getElementById('display');
const startBtn = document.getElementById('startBtn');
const stopBtn = document.getElementById('stopBtn');
const resetBtn = document.getElementById('resetBtn');

function updateDisplay() {
    const date = new Date(elapsedTime);
    const hours = String(date.getUTCHours()).padStart(2, '0');
    const minutes = String(date.getUTCMinutes()).padStart(2, '0');
    const seconds = String(date.getUTCSeconds()).padStart(2, '0');
    display.textContent = `${hours}:${minutes}:${seconds}`;
}

function startTimer() {
    if (!timer) {
        const startTime = Date.now() - elapsedTime; // 计算开始时间
        timer = setInterval(() => {
            elapsedTime = Date.now() - startTime; // 更新经过的时间
            updateDisplay(); // 更新显示
        }, 1000); // 每秒更新
    }
}

function stopTimer() {
    clearInterval(timer);
    timer = null; // 停止计时器
}

function resetTimer() {
    stopTimer(); // 停止计时器
    elapsedTime = 0; // 重置经过的时间
    updateDisplay(); // 更新显示
}

// 添加按钮事件监听器
startBtn.addEventListener('click', startTimer);
stopBtn.addEventListener('click', stopTimer);
resetBtn.addEventListener('click', resetTimer);

代码解释

  • HTML部分:包含一个显示区域和三个按钮,分别用于开始、停止和重置计时器。
  • JavaScript部分
    • let timer; 用于存储计时器的引用。
    • let elapsedTime = 0; 用于存储经过的时间。
    • updateDisplay() 函数负责格式化和更新显示的时间。
    • startTimer() 函数开始计时器,使用setInterval每秒更新一次经过的时间。
    • stopTimer() 函数停止计时器。
    • resetTimer() 函数重置经过的时间并更新显示。
    • 按钮的事件监听器用于调用对应的函数。

总结

通过以上步骤,我们实现了一个简单的秒表计时器,用户可以通过按钮控制计时器的开始、停止和重置。这是一个很好的练习,可以帮助理解JavaScript的基本操作和DOM操作。