javascript网页设计案例

案例:动态任务列表(To-Do List)

用户可以添加任务、标记任务为完成状态,并删除任务。


1. HTML 结构




  
  
  任务列表
  


  

我的任务列表

    2. CSS 样式(styles.css)

    body {
      font-family: Arial, sans-serif;
      background-color: #f4f4f4;
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
    }
    
    .container {
      background-color: #fff;
      padding: 20px;
      border-radius: 8px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
      width: 300px;
      text-align: center;
    }
    
    h1 {
      font-size: 24px;
      margin-bottom: 20px;
    }
    
    input[type="text"] {
      width: calc(100% - 22px);
      padding: 10px;
      margin-bottom: 10px;
      border: 1px solid #ccc;
      border-radius: 4px;
    }
    
    button {
      padding: 10px 20px;
      background-color: #28a745;
      color: #fff;
      border: none;
      border-radius: 4px;
      cursor: pointer;
    }
    
    button:hover {
      background-color: #218838;
    }
    
    ul {
      list-style-type: none;
      padding: 0;
    }
    
    li {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px;
      border-bottom: 1px solid #ccc;
    }
    
    li.completed {
      text-decoration: line-through;
      color: #888;
    }
    
    li button {
      background-color: #dc3545;
      border: none;
      color: #fff;
      padding: 5px 10px;
      border-radius: 4px;
      cursor: pointer;
    }
    
    li button:hover {
      background-color: #c82333;
    }

    3. JavaScript 交互(script.js)

    // 获取DOM元素
    const taskInput = document.getElementById("taskInput");
    const addTaskBtn = document.getElementById("addTaskBtn");
    const taskList = document.getElementById("taskList");
    
    // 添加任务
    addTaskBtn.addEventListener("click", () => {
      const taskText = taskInput.value.trim();
      if (taskText !== "") {
        addTask(taskText);
        taskInput.value = "";
      }
    });
    
    // 回车键添加任务
    taskInput.addEventListener("keypress", (e) => {
      if (e.key === "Enter") {
        addTaskBtn.click();
      }
    });
    
    // 添加任务到列表
    function addTask(taskText) {
      const li = document.createElement("li");
      li.innerHTML = `
        ${taskText}
        
      `;
      taskList.appendChild(li);
    
      // 标记任务为完成
      li.querySelector("span").addEventListener("click", () => {
        li.classList.toggle("completed");
      });
    
      // 删除任务
      li.querySelector("button").addEventListener("click", () => {
        taskList.removeChild(li);
      });
    }

    4. 功能说明

    1. 添加任务

      • 用户输入任务内容后,点击“添加任务”按钮或按回车键,任务会添加到列表中。

    2. 标记任务为完成

      • 点击任务文本,任务会被标记为完成状态(添加删除线)。

    3. 删除任务

      • 点击任务右侧的“删除”按钮,任务会从列表中移除。


    5. 运行效果

    • 打开浏览器,加载 HTML 文件。

    • 输入任务并点击“添加任务”按钮,任务会显示在列表中。

    • 点击任务文本可以标记为完成,点击“删除”按钮可以移除任务。


    6. 扩展功能

    你可以进一步扩展这个案例,例如:

    • 保存任务:使用 localStorage 将任务保存到本地,刷新页面后任务不会丢失。

    • 任务排序:添加拖拽功能,允许用户重新排序任务。

    • 任务分类:添加分类标签(如工作、生活),方便用户管理任务

    程序接单

    程序设计_闲鱼

    你可能感兴趣的:(javascript)