Jupyter AI

29 项目实战之实现一个简单的Web应用

📅 发表日期: 2024年8月10日

分类: 🟨JavaScript 入门

👁️阅读: --

在上一篇中,我们已经搭建了项目环境,接下来我们将利用这个环境来实现一个简单的Web应用。这一部分的主要目标是让你亲身体验如何将JavaScript应用到实际的Web项目中,以及如何整合HTML和CSS来创建一个功能完整的网页。

应用功能简介

我们将创建一个简单的待办事项(To-Do List)应用。用户可以添加、查看和删除待办事项。这是一个经典的练手项目,可以帮助你理解基本的DOM操作、事件处理以及数据存储。

项目结构

在我们的项目根目录下,结构将如下所示:

/todo-app
  ├── index.html
  ├── style.css
  └── app.js
  • index.html:包含了应用的HTML结构。
  • style.css:用来美化我们的应用。
  • app.js:包含了我们的JavaScript逻辑。

1. 创建HTML结构

首先,在index.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>
    <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文件中,我们可以添加一些简单的样式,使界面更加美观:

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代码以实现待办事项的添加和删除功能。

// 获取DOM元素
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开发的乐趣!