使用JavaScript实现待办事项列表| 豆包MarsCode AI刷题

71 阅读2分钟

使用JavaScript实现待办事项列表的项目实例

项目目标

本项目旨在创建一个简单的待办事项列表应用,用户可以添加、删除和标记任务为完成。我们将使用HTML、CSS和JavaScript来实现这一功能。

项目结构

我们将使用以下文件来构建项目: index.html:HTML结构 style.css:样式文件 script.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="task-input" placeholder="添加新的任务..." />
        <button id="add-task-btn">添加任务</button>
        <ul id="task-list"></ul>
    </div>
    <script src="script.js"></script>
</body>
</html>

步骤2:添加CSS样式

style.css 文件中,为我们的待办事项列表添加一些简单的样式:

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
}

.container {
    width: 400px;
    margin: 50px auto;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

h1 {
    text-align: center;
}

input {
    width: calc(100% - 90px);
    padding: 10px;
    margin-right: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

button {
    padding: 10px;
    background: #5cb85c;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid #ccc;
}

.completed {
    text-decoration: line-through;
    color: #999;
}

步骤3:实现JavaScript功能

script.js 文件中,编写JavaScript代码以处理添加、删除和完成任务的逻辑:

document.addEventListener('DOMContentLoaded', () => {
    const taskInput = document.getElementById('task-input');
    const addTaskBtn = document.getElementById('add-task-btn');
    const taskList = document.getElementById('task-list');

    // 添加任务
    addTaskBtn.addEventListener('click', () => {
        const taskText = taskInput.value.trim();
        if (taskText) {
            const li = document.createElement('li');
            li.textContent = taskText;

            // 添加完成任务的功能
            li.addEventListener('click', () => {
                li.classList.toggle('completed');
            });

            // 添加删除任务的功能
            const deleteBtn = document.createElement('button');
            deleteBtn.textContent = '删除';
            deleteBtn.addEventListener('click', (e) => {
                e.stopPropagation(); // 防止触发li的点击事件
                taskList.removeChild(li);
            });

            li.appendChild(deleteBtn);
            taskList.appendChild(li);
            taskInput.value = ''; // 添加后清空输入框
        } else {
            alert('请输入任务内容');
        }
    });
});

功能说明

  1. 添加任务:用户在输入框中输入任务,并点击“添加任务”按钮,将任务添加到列表中。
  2. 删除任务:每个任务旁边都有一个“删除”按钮,点击后将删除该任务。
  3. 标记完成:点击任务项可以将该任务标记为完成,已完成的任务显示为删除线。

通过本项目,我们实现了一个基本的待办事项列表应用。用户可以方便地添加、删除和完成任务。这一示例展示了如何使用JavaScript及其DOM操作来创建交互式网页应用。可以进一步扩展此功能,例如将任务保存到本地存储中,或实现过滤已完成和未完成任务的功能。