本文将为你介绍如何使用JavaScript创建一个简单的待办事项列表。我们将通过一系列步骤来构建这个列表,并添加一些基本的交互功能。
1. 创建基本HTML结构
首先,我们需要一个HTML文件来构建待办事项列表的基础结构。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>待办事项列表</title>
</head>
<body>
<h1>我的待办事项</h1>
<input type="text" id="todoInput" placeholder="添加待办事项...">
<button onclick="addTodo()">添加</button>
<ul id="todoList"></ul>
</body>
</html>
在上面的代码中,我们创建了一个文本输入框和一个按钮,用于添加待办事项,并使用一个无序列表来展示所有待办事项。
2. 编写JavaScript代码
接下来,我们需要编写JavaScript代码来处理添加待办事项的功能。
function addTodo() {
var todoInput = document.getElementById('todoInput');
var todoList = document.getElementById('todoList');
var todoText = todoInput.value;
if (todoText.trim() !== '') {
var todoItem = document.createElement('li');
todoItem.textContent = todoText;
todoList.appendChild(todoItem);
todoInput.value = '';
}
}
在上面的代码中,我们定义了一个名为addTodo
的函数,当用户点击“添加”按钮时,它会从输入框中读取待办事项文本,并创建一个新的列表项添加到待办事项列表中。
3. 完善待办事项列表
为了使待办事项列表更完整,我们可以添加一些额外的功能,例如删除待办事项。
function deleteTodo(event) {
var todoItem = event.target.parentNode;
todoItem.parentNode.removeChild(todoItem);
}
在上面的代码中,我们定义了一个名为deleteTodo
的函数,它会在用户点击待办事项旁边的删除按钮时被调用。这个函数会删除点击的待办事项。
4. 额外功能:标记待办事项为完成
我们还可以为待办事项添加一个标记为完成的按钮。
function toggleComplete(event) {
var todoItem = event.target.parentNode;
todoItem.classList.toggle('completed');
}
在上面的代码中,我们定义了一个名为toggleComplete
的函数,它会在用户点击待办事项旁边的标记为完成的按钮时被调用。这个函数会切换待办事项的完成状态。
5. 完整的示例代码
以下是一个完整的示例代码,包括HTML、CSS和JavaScript。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>待办事项列表</title>
<style>
.completed {
text-decoration: line-through;
}
</style>
</head>
<body>
<h1>我的待办事项</h1>
<input type="text" id="todoInput" placeholder="添加待办事项...">
<button onclick="addTodo()">添加</button>
<ul id="todoList"></ul>
<script>
function addTodo() {
var todoInput = document.getElementById('todoInput');
var todoList = document.getElementById('todoList');
var todoText = todoInput.value;
if (todoText.trim() !== '') {
var todoItem = document.createElement('li');
todoItem.textContent = todoText;
todoItem.innerHTML += '<button onclick="deleteTodo(event)">删除</button>';
todoItem.innerHTML += '<button onclick="toggleComplete(event)">完成</button>';
todoList.appendChild(todoItem);
todoInput.value = '';
}
}
function deleteTodo(event) {
var todoItem = event.target.parentNode;
todoItem.parentNode.removeChild(todoItem);
}
function toggleComplete(event) {
var todoItem = event.target.parentNode;
todoItem.classList.toggle('completed');
}
</script>
</body>
</html>
通过上面的代码,我们创建了一个功能完整的待办事项列表,你可以根据自己的需求进行扩展和修改。
更多关于JavaScript的教程,请访问我们的JavaScript教程页面。