在上一篇中,我们已经搭建了项目环境,接下来我们将利用这个环境来实现一个简单的Web应用。这一部分的主要目标是让你亲身体验如何将JavaScript应用到实际的Web项目中,以及如何整合HTML和CSS来创建一个功能完整的网页。
应用功能简介
我们将创建一个简单的待办事项(To-Do List)应用。用户可以添加、查看和删除待办事项。这是一个经典的练手项目,可以帮助你理解基本的DOM操作、事件处理以及数据存储。
项目结构
在我们的项目根目录下,结构将如下所示:
1 2 3 4
| /todo-app ├── index.html ├── style.css └── app.js
|
index.html
:包含了应用的HTML结构。
style.css
:用来美化我们的应用。
app.js
:包含了我们的JavaScript逻辑。
1. 创建HTML结构
首先,在index.html
文件中,我们需要实现基本的HTML结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>待办事项应用</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <h1>待办事项列表</h1> <input type="text" id="taskInput" placeholder="输入待办事项"> <button id="addTaskButton">添加</button> <ul id="taskList"></ul> </div> <script src="app.js"></script> </body> </html>
|
这里,我们创建了一个输入框用于输入待办事项,一个“添加”按钮以及一个用于显示待办事项的列表。
2. 添加CSS样式
在style.css
文件中,我们可以添加一些简单的样式,使界面更加美观:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| body { font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px; }
.container { max-width: 600px; margin: auto; background: white; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
h1 { text-align: center; }
input[type="text"] { width: 70%; padding: 10px; margin-top: 10px; }
button { padding: 10px; margin-left: 10px; }
ul { list-style-type: none; padding: 0; }
li { padding: 10px; background: #e2e2e2; margin: 5px 0; display: flex; justify-content: space-between; }
li button { background-color: red; color: white; border: none; border-radius: 5px; cursor: pointer; }
|
这里我们通过 CSS 给待办事项应用设置了基本的风格,使其看起来更加美观。
3. 实现JavaScript逻辑
在app.js
文件中,我们将添加JavaScript代码以实现待办事项的添加和删除功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| const taskInput = document.getElementById('taskInput'); const addTaskButton = document.getElementById('addTaskButton'); const taskList = document.getElementById('taskList');
addTaskButton.addEventListener('click', function() { const taskText = taskInput.value.trim();
if (taskText === '') { alert('请输入待办事项内容'); return; }
const li = document.createElement('li'); li.innerText = taskText;
const deleteButton = document.createElement('button'); deleteButton.innerText = '删除'; deleteButton.addEventListener('click', function() { taskList.removeChild(li); });
li.appendChild(deleteButton); taskList.appendChild(li); taskInput.value = ''; });
|
是什么在发生?
- 集成事件监听
addEventListener
:当用户点击“添加”按钮时,提取输入框中的内容。
- 创建新的
li
元素:为每个待办事项创建一个新的列表项。
- 删除功能:为每个待办事项添加一个删除按钮,以便用户能够删除不需要的待办事项。
4. 测试应用
现在是测试你的应用的时候了!在浏览器中打开index.html
文件,你应该能够看到待办事项列表的输入框、添加按钮和空的列表。试着添加一些待办事项,并查看它们是否能正常显示和删除。
小结
在本节中,我们实现了一个简单的待办事项Web应用,结合了HTML、CSS和JavaScript,为我们的项目搭建了基础功能。这一过程中的关键在于理解DOM操作和事件处理的基本概念。
在下一篇中,我们将讨论如何调试和优化我们的代码,以提高应用的性能和用户体验。希望您能继续关注这个系列教程,进一步深入学习JavaScript开发的乐趣!