当前位置: 首页 > news >正文

15.1 【基础项目】使用 HTML、CSS 和 TypeScript 构建的简单计数器应用

一个简单的计数器应用是学习如何集成 HTML、CSS 和 TypeScript 的绝佳项目。该应用允许用户对计数值进行增加、减少和重置,展示了 TypeScript 中基本的 DOM 操作和事件处理。

我们将构建的内容

我们将创建一个具有以下功能的计数器应用:

  • 增加计数值
  • 减少计数值(不能低于 0)
  • 重置计数值为 0

项目预览图

一个典型的计数器界面:数字居中显示,下方是三种按钮:增加、减少、重置。

计数器应用 – HTML 和 CSS 布局

下面是完整的 HTML 和 CSS 代码,用于构建计数器的结构与样式:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>计数器应用</title><style>body {font-family: Arial, sans-serif;background-color: #f4f4f4;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.container {text-align: center;background: white;padding: 20px;border-radius: 8px;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}h1 {margin-bottom: 20px;}.counter {font-size: 3rem;margin: 20px 0;}.buttons button {padding: 10px 20px;margin: 5px;font-size: 1rem;cursor: pointer;border: none;border-radius: 4px;transition: background 0.3s;}#increment {background: #4caf50;color: white;}#decrement {background: #f44336;color: white;}#reset {background: #2196f3;color: white;}.buttons button:hover {opacity: 0.8;}</style></head><body><div class="container"><h1>计数器应用</h1><div id="counter" class="counter">0</div><div class="buttons"><button id="increment">增加</button><button id="decrement">减少</button><button id="reset">重置</button></div></div><script src="task.js"></script> <!-- 编译后的 JS 文件 --></body>
</html>

TypeScript 逻辑代码

以下是计数器的 TypeScript 逻辑,处理按钮点击事件并更新显示值:

const counter = document.getElementById('counter') as HTMLDivElement;
const incrementBtn = document.getElementById('increment') as HTMLButtonElement;
const decrementBtn = document.getElementById('decrement') as HTMLButtonElement;
const resetBtn = document.getElementById('reset') as HTMLButtonElement;let count = 0;function updateCounter() {counter.textContent = count.toString();
}incrementBtn.addEventListener('click', () => {count++;updateCounter();
});decrementBtn.addEventListener('click', () => {if (count > 0) {count--;updateCounter();}
});resetBtn.addEventListener('click', () => {count = 0;updateCounter();
});

代码说明

  • 选择并类型断言 DOM 元素,确保类型安全;
  • 初始化 count 值为 0;
  • updateCounter() 函数用于更新页面上的计数显示;
  • 为三个按钮分别绑定点击事件。

TypeScript 编译为 JavaScript

浏览器不能直接运行 TypeScript,因此需要将 .ts 文件编译为 .js 文件。使用如下命令之一:

npx tsc task.ts
# 或
tsc task.ts

运行命令后,将生成 task.js 文件,并可在 HTML 中引用运行。

项目总结

这个简单的计数器项目非常适合初学者,通过它你可以熟悉 TypeScript 与 HTML、CSS 的结合,掌握基本的类型断言、DOM 操作与事件监听。进一步,你可以尝试添加更多功能,例如:

  • 设置最大值或最小值;
  • 将当前值存储到本地存储;
  • 添加加减速率设置等。

相关文章:

  • 数据仓库中的业务域与数据域
  • XSS脚本攻击-DDoS僵王博士-SQL注入-考试周前的邮件
  • 【Java工程师面试全攻略】专栏开篇:从面试流程到基础准备
  • 前端开发知识体系全景解析
  • 【HTML-12】HTML表格常用属性详解:从基础到高级应用
  • 【EcelVBA】系统学习 ActiveX 控件
  • 历年哈尔滨工业大学保研上机真题
  • leetcode排序链表 java
  • Python Day33
  • java多态的学习笔记
  • 解决DeepSeek部署难题:提升效率与稳定性的关键策略
  • MYSQL中的分库分表
  • C++ STL 算法函数std::remove_if学习
  • Q1:Go协程、Channel通道 被close后,读会带来什么问题?
  • 题目 3325: 蓝桥杯2025年第十六届省赛真题-2025 图形
  • Q2:如果 Channel 没有关闭,读取会一直阻塞吗?
  • C++23 元编程工具新特性探索
  • 【机器人】复现 Embodied-Reasoner 具身推理 | 具身任务 深度推理模型 多模态场景 长远决策 多轮互动
  • 华为OD机试真题—— 小明减肥(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • Disruptor—3.核心源码实现分析二
  • 网站制作多少钱方案/百度推广后台登录首页
  • spring boot做网站/第一接单网app地推和拉新
  • 怎么做网站不用备案/搜狗搜索网
  • wordpress 插件 css/宁波seo在线优化方案公司
  • jsp网站开发实例实验报告/如何制作网页设计
  • 如何做彩票网站的源码/进入百度搜索首页