介绍
在日常生活中,我们经常会有许多待办事项需要处理。为了更好地管理这些任务,我们可以借助一个简单的Todo List应用。本文将介绍如何使用HTML、CSS和JavaScript实现一个简单的Todo List应用,并利用浏览器的LocalStorage保存数据。
准备工作
在开始编写应用之前,我们需要先准备一些基本的环境和文件。
- 创建一个新的HTML文件,命名为
index.html。 - 创建一个新的CSS文件,命名为
styles.css。 - 创建一个新的JavaScript文件,命名为
app.js。
编写HTML代码
在index.html文件中,我们需要创建一个Todo List的基本结构。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Todo List</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h1>Todo List</h1>
<input type="text" id="todoInput" placeholder="Add a new task">
<button id="addButton">Add</button>
<ul id="todoList"></ul>
<script src="app.js"></script>
</body>
</html>
在这个结构中,我们创建了一个输入框和一个按钮来添加新的任务,以及一个无序列表来展示已经添加的任务。
编写CSS代码
在styles.css文件中,我们为Todo List添加一些基本的样式。
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
margin: 0;
padding: 20px;
}
h1 {
text-align: center;
}
#todoInput {
width: 300px;
padding: 10px;
font-size: 18px;
}
#addButton {
padding: 10px;
font-size: 18px;
}
#todoList {
list-style-type: none;
padding: 0;
}
.todoItem {
display: flex;
align-items: center;
margin-bottom: 10px;
background-color: #fff;
padding: 10px;
border-radius: 5px;
}
.todoItem span {
margin-left: 10px;
}
.deleteButton {
margin-left: auto;
font-size: 16px;
color: red;
cursor: pointer;
}
这段CSS代码用于设置Todo List的基本样式,包括背景颜色、字体样式、输入框和按钮的样式,以及任务项和删除按钮的样式。
编写JavaScript代码
在app.js文件中,我们将实现Todo List的一些基本功能,包括添加任务、删除任务和保存任务到LocalStorage。
// 获取页面中的元素
const todoInput = document.getElementById('todoInput');
const addButton = document.getElementById('addButton');
const todoList = document.getElementById('todoList');
// 从LocalStorage加载已保存的任务
loadTasks();
// 添加按钮的click事件处理函数
addButton.addEventListener('click', function() {
const task = todoInput.value;
if (task) {
addTask(task);
todoInput.value = '';
}
});
// 输入框的keydown事件处理函数
todoInput.addEventListener('keydown', function(event) {
if (event.keyCode === 13) {
const task = todoInput.value;
if (task) {
addTask(task);
todoInput.value = '';
}
}
});
// 添加任务
function addTask(task) {
const listItem = document.createElement('li');
listItem.className = 'todoItem';
const taskText = document.createElement('span');
taskText.innerText = task;
const deleteButton = document.createElement('span');
deleteButton.className = 'deleteButton';
deleteButton.innerText = 'Delete';
deleteButton.addEventListener('click', function() {
deleteTask(listItem);
});
listItem.appendChild(taskText);
listItem.appendChild(deleteButton);
todoList.appendChild(listItem);
saveTasks();
}
// 删除任务
function deleteTask(item) {
todoList.removeChild(item);
saveTasks();
}
// 保存任务到LocalStorage
function saveTasks() {
const tasks = [];
const items = todoList.getElementsByClassName('todoItem');
for (let i = 0; i < items.length; i++) {
tasks.push(items[i].querySelector('span').innerText);
}
localStorage.setItem('tasks', JSON.stringify(tasks));
}
// 从LocalStorage加载任务
function loadTasks() {
const tasks = JSON.parse(localStorage.getItem('tasks'));
if (tasks) {
tasks.forEach(function(task) {
addTask(task);
});
}
}
这段JavaScript代码用于实现Todo List的功能。我们首先获取页面中的元素,并为按钮和输入框添加事件处理函数。然后,根据用户输入的任务,创建任务项并添加到Todo List中。当用户点击删除按钮时,删除相应的任务项。最后,我们通过LocalStorage保存和加载任务。
总结
通过HTML、CSS和JavaScript,我们成功地实现了一个简单的Todo List应用,并利用浏览器的LocalStorage保存了任务数据。通过这个应用,我们可以更好地管理日常的待办事项,提高工作和生活的效率。该应用只是一个简单的示例,你可以根据自己的需求进行更复杂的扩展和定制。希望这篇文章对你有所帮助!
评论 (0)