构建一个待办事项列表(To-Do List)应用程序

此程序将允许用户添加新任务,标记任务为完成,以及删除任务。

HTML结构

首先,我们需要一个HTML页面来展示我们的待办事项列表。在<body>标签内,我们可以放置一个输入框用于添加新任务,一个按钮用于提交新任务,以及一个用于显示任务的列表。

<!DOCTYPE html>  
<html>  
<head>  
    <title>To-Do List App</title>  
    <style>  
        .completed {  
            text-decoration: line-through;  
        }  
    </style>  
</head>  
<body>  
    <h1>To-Do List</h1>  
    <input type="text" id="newTask" placeholder="Add a new task">  
    <button id="addTask">Add Task</button>  
    <ul id="taskList">  
        <!-- Task items will go here -->  
    </ul>  
    <script src="app.js"></script>  
</body>  
</html>

 

JavaScript实现

然后,我们在一个名为app.js的外部JavaScript文件中编写我们的程序逻辑。

// 获取HTML元素引用  
const newTaskInput = document.getElementById('newTask');  
const addTaskButton = document.getElementById('addTask');  
const taskList = document.getElementById('taskList');  
  
// 添加新任务的功能  
addTaskButton.addEventListener('click', function() {  
    // 获取输入框中的文本  
    const taskText = newTaskInput.value.trim();  
  
    // 检查是否有文本输入  
    if (taskText) {  
        // 创建新的列表项  
        const listItem = document.createElement('li');  
        listItem.textContent = taskText;  
  
        // 添加完成任务的功能  
        listItem.addEventListener('click', function() {  
            listItem.classList.toggle('completed');  
        });  
  
        // 添加删除任务的功能  
        const deleteButton = document.createElement('button');  
        deleteButton.textContent = 'Delete';  
        deleteButton.addEventListener('click', function() {  
            taskList.removeChild(listItem);  
        });  
  
        listItem.appendChild(deleteButton);  
        taskList.appendChild(listItem);  
  
        // 清空输入框  
        newTaskInput.value = '';  
    }  
});

 代码解释

  1. 获取HTML元素引用
    我们使用document.getElementById()方法来获取HTML页面中元素的引用,这样我们就可以在JavaScript中操作这些元素了。
  2. 添加新任务
    我们给“Add Task”按钮添加了一个点击事件监听器。当按钮被点击时,它会执行一个匿名函数。这个函数首先获取输入框中的文本,然后检查是否有文本输入。如果有,它就创建一个新的<li>元素,并将其添加到任务列表中。同时,它还创建了一个“Delete”按钮,用于删除任务。
  3. 完成任务和删除任务
    我们还给每个任务列表项添加了一个点击事件监听器。当列表项被点击时,它会切换completed类,从而改变文本的样式(通过CSS中的text-decoration: line-through;)。“Delete”按钮也有一个点击事件监听器,当它被点击时,它会从其父元素(即任务列表)中移除相应的任务列表项。

 

总结

这个待办事项列表应用程序展示了如何使用JavaScript来操作DOM、处理用户输入和事件,以及实现基本的应用程序逻辑。虽然这个例子相对简单,但它涵盖了很多在构建更复杂的Web应用程序时会用到的基本概念和技术。通过学习和实践这些技术,你可以逐渐掌握如何使用JavaScript来创建功能丰富、交互性强的Web应用程序。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 06:50:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 06:50:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 06:50:03       87 阅读
  4. Python语言-面向对象

    2024-02-22 06:50:03       96 阅读

热门阅读

  1. Top-N 泛型工具类

    2024-02-22 06:50:03       49 阅读
  2. MySQL、Redis、Nginx配置优化

    2024-02-22 06:50:03       54 阅读
  3. C++知识点总结(18):排序算法汇总

    2024-02-22 06:50:03       43 阅读
  4. 【笔记】flutter 日历年月日自定义国际化显示

    2024-02-22 06:50:03       47 阅读
  5. 图片数据增强

    2024-02-22 06:50:03       43 阅读
  6. xlua源码分析(六) C#与lua的交互总结

    2024-02-22 06:50:03       59 阅读
  7. Unity3D xLua开发环境搭建详解

    2024-02-22 06:50:03       59 阅读
  8. 雪花算法生成分布式主键ID

    2024-02-22 06:50:03       42 阅读
  9. db-gpt docker部署进坑

    2024-02-22 06:50:03       56 阅读
  10. FastGPT配置文件及OneAPI程序:

    2024-02-22 06:50:03       49 阅读