Skip to content

计数器

入门约 10 分钟

你将构建什么

一个计数器页面:显示当前数字,有“加一”和“减一”两个按钮。点击按钮数字相应变化,数字不能小于零。

学习目标

  • 用 document.querySelector 获取 DOM 元素
  • 用 addEventListener 绑定按钮点击事件
  • 用一个变量维护计数器状态,事件触发时更新
  • 理解 DOM 操作和事件驱动编程的基本模式

前置要求

  • 了解 HTML 基本标签
  • 了解 JavaScript 变量和函数
  • 会用 <script> 标签引入 JS

步骤

  1. 1

    搭建 HTML 结构

    创建 index.html,放一个显示数字的 <span> 和两个按钮。给元素加 id 方便 JS 获取。

    代码
    <p>当前计数:<span id="count">0</span></p>
    <button id="increment">加一</button>
    <button id="decrement">减一</button>

    预期结果

    页面显示数字 0 和两个按钮,但点击没有反应。

  2. 2

    获取 DOM 元素并初始化状态

    在 <script> 中用 querySelector 获取显示数字的 span 和两个按钮。声明一个变量 count = 0 保存当前计数。

    代码
    const countEl = document.querySelector('#count');
    const incBtn = document.querySelector('#increment');
    const decBtn = document.querySelector('#decrement');
    let count = 0;

    预期结果

    JS 成功获取三个 DOM 元素,count 初始化为 0。

  3. 3

    绑定按钮点击事件

    给“加一”按钮绑定 click 事件:count 加一后更新 span 文本。给“减一”按钮绑定:count 大于 0 时才减一,防止负数。

    代码
    incBtn.addEventListener('click', () => {
      count++;
      countEl.textContent = count;
    });
    
    decBtn.addEventListener('click', () => {
      if (count > 0) {
        count--;
        countEl.textContent = count;
      }
    });

    预期结果

    点击“加一”数字递增,点击“减一”数字递减且不会小于 0。

  4. 4

    测试边界情况

    测试:连续点击“减一”到 0 后再点不应变为 -1;连续点击“加一”数字应持续递增。确认逻辑正确。

    预期结果

    计数器在 0 处不会变为负数,加一正常递增。

自己动手试试

你学到了什么

你掌握了 DOM 操作和事件监听——这是前端交互的基础模式:获取元素 → 绑定事件 → 更新状态 → 刷新视图。几乎所有前端交互都遵循这个循环。

相关资源

相关课程

  • DOM 操作

    学习如何用 JS 操作网页元素。

  • 变量

    学习 let 和 const 的区别。

相关练习

相关工具

相关参考文档

相关错误

相关术语

相关术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

相关错误

用大白话解释常见错误——什么意思、为什么发生、如何修复。

← 返回主题