使用JavaScript创建一个待办事项列表

在现代的web开发中,待办事项列表是一个常见且实用的功能。它允许用户记录、追踪和完成他们的任务。在这篇文章中,我们将使用纯JavaScript来创建一个简单的待办事项列表。我们会涉及到HTML结构的创建、CSS样式的添加以及JavaScript交互的实现。

步骤1: 创建HTML结构

首先,我们需要在HTML文件中定义待办事项列表的结构。我们可以使用一个输入框让用户输入任务,一个按钮来添加任务,以及一个无序列表来显示任务。

html 复制代码
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>Todo List</title>  
    <link rel="stylesheet" href="styles.css">  
</head>  
<body>  
    <div class="container">  
        <h1>Todo List</h1>  
        <input type="text" id="todoInput" placeholder="Enter a new todo">  
        <button id="addButton">Add Todo</button>  
        <ul id="todoList">  
        </ul>  
    </div>  
    <script src="script.js"></script>  
</body>  
</html>

步骤2: 添加CSS样式

接下来,我们可以在一个单独的CSS文件中添加一些样式来美化我们的待办事项列表。例如,我们可以为输入框、按钮和列表项添加样式

css 复制代码
/* styles.css */  
.container {  
    max-width: 600px;  
    margin: 0 auto;  
    padding: 20px;  
}  
  
input[type="text"] {  
    width: 100%;  
    padding: 10px;  
    margin-bottom: 10px;  
}  
  
button {  
    padding: 10px 20px;  
    background-color: #007BFF;  
    color: white;  
    border: none;  
    cursor: pointer;  
    margin-bottom: 10px;  
}  
  
ul {  
    list-style-type: none;  
    padding: 0;  
}  
  
li {  
    padding: 10px;  
    background-color: #F8F9FA;  
    margin-bottom: 5px;  
}

步骤3: 使用JavaScript实现交互功能

最后,我们需要在JavaScript文件中编写代码来实现待办事项的添加和显示功能。我们可以通过为按钮添加一个事件监听器来实现这一点,当按钮被点击时,获取输入框的值,创建一个新的列表项,并将其添加到列表中。

javascript 复制代码
// script.js  
document.addEventListener('DOMContentLoaded', function() {  
    const todoInput = document.getElementById('todoInput');  
    const addButton = document.getElementById('addButton');  
    const todoList = document.getElementById('todoList');  
      
    addButton.addEventListener('click', function() {  
        const todoText = todoInput.value.trim(); // 获取输入框的值并去除前后的空格  
        if (todoText) { // 如果输入框的值不为空  
            const listItem = document.createElement('li'); // 创建一个新的列表项元素li  
            listItem.textContent = todoText; // 设置列表项的文本内容为输入框的值  
            todoList.appendChild(listItem); // 将新的列表项添加到无序列表ul中  
            todoInput.value = ''; // 清空输入框的值以便用户输入下一个待办事项  
        } else {  
            alert('Please enter a valid todo'); // 如果输入框的值为空,则显示一个警告消息提醒用户输入有效的待办事项内容。注意这里只是一个简单的错误处理,实际开发中可能需要更友好的用户体验设计。  
        }  
    });  
});

现在,当你打开HTML文件时,你应该能够看到一个简单的待办事项列表应用程序。你可以在输入框中输入任务,点击按钮将其添加到列表中。每个任务都会作为一个新的列表项显示在列表中。当然,这只是一个基本示例,你可以根据自己的需求扩展它,例如添加删除任务的功能、标记任务为已完成的功能等。希望这篇文章能帮助你了解如何使用JavaScript创建一个待办事项列表!

相关推荐
集智飞行5 分钟前
c++函数传参的几种推荐方式
开发语言·c++
鼾声鼾语26 分钟前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
麦麦鸡腿堡1 小时前
Java_类的加载
java·开发语言
我命由我123451 小时前
VSCode - Prettier 配置格式化的单行长度
开发语言·前端·ide·vscode·前端框架·编辑器·学习方法
JIngJaneIL1 小时前
基于java + vue校园快递物流管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js
超级大只老咪1 小时前
数组的正向存储VS反向存储(Java)
java·开发语言·python
柏木乃一1 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 基于JSP的物流信息网的设计与实现为例,包含答辩的问题和答案
java·开发语言
leo__5201 小时前
基于LDA的数据降维:原理与MATLAB实现
开发语言·matlab·信息可视化
asdfg12589631 小时前
JS中的闭包应用
开发语言·前端·javascript