首页 > 编程语言 >JavaScript 构建一个简单的待办事项应用

JavaScript 构建一个简单的待办事项应用

时间:2024-08-25 09:52:50浏览次数:12  
标签:const 删除 deleteBtn JavaScript list li 待办 构建 document

包含添加、删除、标记任务功能。

<!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>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        #todo-list {
            list-style-type: none;
            padding: 0;
        }
        #todo-list li {
            padding: 10px;
            background-color: #f4f4f4;
            margin-bottom: 5px;
            display: flex;
            justify-content: space-between;
        }
        .completed {
            text-decoration: line-through;
            color: gray;
        }
    </style>
</head>
<body>
    <h1>Todo List</h1>
    <input type="text" id="new-task" placeholder="Add a new task">
    <button onclick="addTask()">Add</button>
    <ul id="todo-list"></ul>

    <script>
        function addTask() {
            const taskInput = document.getElementById('new-task');
            const taskText = taskInput.value.trim();

            if (taskText === '') return;

            const li = document.createElement('li');
            li.textContent = taskText;

            li.addEventListener('click', function() {
                this.classList.toggle('completed');
            });

            const deleteBtn = document.createElement('button');
            deleteBtn.textContent = 'Delete';
            deleteBtn.addEventListener('click', function() {
                li.remove();
            });

            li.appendChild(deleteBtn);
            document.getElementById('todo-list').appendChild(li);

            taskInput.value = '';
        }
    </script>
</body>
</html>

运行上述代码可得

点击后面的删除键可以进行删除等功能。

js的解析:使用addTask()函数:

先从输入框里拿到你输入的任务,并把两边的空格去掉。

如果你什么都没写,这段代码就直接结束,不会添加一个空任务。

接着,它会新建一个列表项(`li`),并把你刚刚输入的任务内容放进去。

给这个列表项加上一个点击功能,让你可以点击它来切换成“已完成”的状态。

然后,代码会创建一个“删除”按钮,并给这个按钮加上点击功能,这样你点击它就能删除这个任务。

把这个“删除”按钮放到任务项的后面。

最后,把这个任务项加到待办事项的列表里去,并清空输入框,让你可以继续输入下一个任务。

标签:const,删除,deleteBtn,JavaScript,list,li,待办,构建,document
From: https://blog.csdn.net/weixin_66004363/article/details/141523593

相关文章

  • 在Python虚拟环境中利用PyInstaller高效构建可执行EXE文件的专业指南
    使用虚拟环境(如venv或conda)来打包Python程序为exe文件是一个很好的实践,因为它可以确保应用程序在不同的环境中具有一致性和可移植性。然而,需要注意的是,虚拟环境本身并不直接提供将Python程序打包成exe文件的功能。这通常需要使用专门的打包工具,如PyInstaller、cx_Freeze或py......
  • WebRTC 实时通信:构建高效网页视频通话的秘诀
    标题:WebRTC实时通信:构建高效网页视频通话的秘诀WebRTC(WebReal-TimeCommunications),即网页实时通信技术,是一种支持浏览器间无需额外插件即可实现音视频实时通信的API。本文将深入探讨WebRTC的基本概念、关键技术,并通过示例代码展示如何在网页中实现实时视频通话功能,让您快......
  • Ruby Web服务开发:构建高效RESTful API的秘诀
    标题:RubyWeb服务开发:构建高效RESTfulAPI的秘诀Ruby作为一种灵活、高效的编程语言,通过其丰富的库和框架,为开发Web服务提供了强大的支持。本文将深入探讨如何在Ruby中开发Web服务,特别是RESTfulAPI。我们将从基础概念讲起,逐步深入到框架选择、路由配置、控制器编写、模型设......
  • 使用 LangGraph 构建工作流, 实现与虚拟女友对话
    文章目录简介背景流程图代码实现简介介绍了如何使用LangGraph搭建一个基于聊天机器人的工作流,具体实现了一个虚拟女友的角色扮演游戏。通过流程图展示了构建完成的状态图,并介绍了各个节点的功能,如接收用户输入、生成对话等。提供了是否使用历史聊天记录的方法,让......
  • 构建Spring Boot应用的微服务服务容错机制
    构建SpringBoot应用的微服务服务容错机制大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!微服务架构中的容错性在微服务架构中,服务之间的依赖关系复杂,任何一个服务的故障都可能影响到整个系统的稳定性。因此,构建一个具有容错能力的微服务系统至关重......
  • 构建Spring Boot应用的微服务服务动态路由
    构建SpringBoot应用的微服务服务动态路由大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!微服务架构中的动态路由需求在微服务架构中,服务实例可能会频繁地上下线,这就需要一种机制来动态地管理和路由请求到正确的服务实例。动态路由能够提高系统的可......
  • [Javascript + Performance] How to run a large number of time-consuming tasks and
    Tryoption1:Promise PromiserunninginMicrotaskqueue,andrenderingshouldwaituntilthequeueisempty;Ifyouhavealargenumberoftime-consuminginmicrotask,itwillalsoblockrenderingfunctionrunTask(task){Promise.resolve().then(()=&g......
  • SpringBoot文档之构建包的阅读笔记
    PackagingSpringBootApplicationsEfficientDeploymentsEfficientDeployments默认情况下,基于SpringBoot框架开发应用时,构建插件spring-boot-maven-plugin将项目打包为fatjar。执行如下命令,解压构建得到的jar文件。java-Djarmode=tools-jarmy-app.jarextract......
  • CMake构建学习笔记3-libpng库的构建
    libpng是一个用于读取、写入PNG(PortableNetworkGraphics)文件格式的开源软件库,有了上一篇笔记作为基础,构建起来也非常简单。还是在源代码的根目录中创建一个build文件夹,执行如下关键指令:#配置CMakecmake..-G"$Generator"-Ax64`-DCMAKE_BUILD_TYPE=RelWithDebInf......
  • 快速入门:使用Python构建学生成绩管理应用
    前言诸位观众,本学期我有幸学习了Python编程课程。随着课程的结束,授课教师布置了一项任务,要求我们开发一个学生信息管理系统。基于老师的要求,我个人独立完成了这项任务。今天,我希望将这个简易的程序分享给大家,主要面向刚开始接触Python的新学者,希望它能助你们一臂之力。在这个......