在这篇文章中,我们将学习如何使用JavaScript来实现一个简单的待办事项应用,这个应用将允许用户添加、删除和标记完成待办事项,我们将使用HTML、CSS和JavaScript来完成这个项目。

我们需要创建HTML结构,在这个例子中,我们将创建一个包含一个输入框、一个按钮和一个列表的结构,用户可以在输入框中输入待办事项,点击按钮将其添加到列表中,然后再次点击按钮将其从列表中删除,当用户点击列表中的待办事项时,它将被标记为已完成。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>待办事项应用</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>待办事项应用</h1>
    <input type="text" id="todoInput" placeholder="输入待办事项">
    <button id="addTodo">添加</button>
    <ul id="todoList"></ul>
    <script src="scripts.js"></script>
</body>
</html>

接下来,我们需要编写CSS样式来美化我们的应用,在这个例子中,我们将为列表项添加一些基本的样式。

/* styles.css */
body {
    font-family: Arial, sans-serif;
}
#todoList {
    list-style-type: none;
    padding: 0;
}
#todoList li {
    background-color: #f1f1f1;
    padding: 10px;
    margin-bottom: 5px;
}
#todoList li.completed {
    text-decoration: line-through;
}

现在我们可以开始编写JavaScript代码来实现应用的功能了,我们需要获取HTML元素并将其存储在变量中,以便稍后使用,我们需要为“添加”按钮添加一个事件监听器,以便在用户点击按钮时执行相应的操作,我们需要为列表项添加事件监听器,以便在用户点击列表项时将其标记为已完成。

// scripts.js
const todoInput = document.getElementById('todoInput');
const addTodoButton = document.getElementById('addTodo');
const todoList = document.getElementById('todoList');
let todos = [];
addTodoButton.addEventListener('click', () => {
    const newTodo = todoInput.value.trim();
    if (newTodo) {
        todos.push({ text: newTodo, completed: false });
        updateTodoList();
        todoInput.value = '';
    } else {
        alert('请输入待办事项');
    }
});
function updateTodoList() {
    todoList.innerHTML = '';
    todos.forEach((todo, index) => {
        const listItem = document.createElement('li');
        listItem.textContent = todo.text;
        listItem.classList.toggle('completed', todo.completed);
        listItem.addEventListener('click', () => {
            todos[index].completed = !todos[index].completed;
            updateTodoList();
        });
        todoList.appendChild(listItem);
    });
}

javascript项目实战 使用JavaScript实现一个简单的待办事项应用

现在我们已经完成了一个简单的待办事项应用,用户可以在输入框中输入待办事项,点击按钮将其添加到列表中,然后再次点击按钮将其从列表中删除,当用户点击列表中的待办事项时,它将被标记为已完成。