JS实现简单的todoList(记事本)效果

yizhihongxing

下面我会给你讲解JS实现简单的todoList(记事本)效果的完整攻略。

1. 界面部分

首先,我们需要搭建好页面框架。可以使用HTML和CSS实现一个简单的布局,其中包括待办事项输入框、已完成事项展示区域、未完成事项展示区域等。

<body>
  <div id="app">
    <h1>Todo List</h1>
    <input id="new-todo" type="text" placeholder="请输入待办事项...">
    <div>
      <h2>未完成事项</h2>
      <ul id="incomplete-tasks">
      </ul>
    </div>
    <div>
      <h2>已完成事项</h2>
      <ul id="completed-tasks">
      </ul>
    </div>
  </div>
</body>

2. JS部分

接下来,我们需要使用JavaScript来实现功能。

添加新事项

const addButton = document.getElementById('add-button');
const taskInput = document.getElementById('new-todo');
const incompleteTasksList = document.getElementById('incomplete-tasks');

addButton.addEventListener('click', () => {
  if (taskInput.value) {
    incompleteTasksList.appendChild(createNewTaskElement(taskInput.value));
    taskInput.value = '';
  }
});

function createNewTaskElement(taskName) {
  const listItem = document.createElement('li');
  const checkBox = document.createElement('input');
  const label = document.createElement('label');
  const deleteButton = document.createElement('button');

  checkBox.type = 'checkbox';
  label.innerText = taskName;
  deleteButton.innerText = '删除';

  listItem.appendChild(checkBox);
  listItem.appendChild(label);
  listItem.appendChild(deleteButton);

  return listItem;
}

标记任务为已完成

const incompleteTasksList = document.getElementById('incomplete-tasks');
const completedTasksList = document.getElementById('completed-tasks');

incompleteTasksList.addEventListener('change', (event) => {
  const taskItem = event.target.parentElement;
  const checkBox = event.target;

  if (checkBox.checked) {
    completedTasksList.appendChild(taskItem);
  } else {
    incompleteTasksList.appendChild(taskItem);
  }
});

删除任务

const incompleteTasksList = document.getElementById('incomplete-tasks');
const completedTasksList = document.getElementById('completed-tasks');

incompleteTasksList.addEventListener('click', (event) => {
  if (event.target.tagName === 'BUTTON') {
    const taskItem = event.target.parentElement;
    taskItem.remove();
  }
});

completedTasksList.addEventListener('click', (event) => {
  if (event.target.tagName === 'BUTTON') {
    const taskItem = event.target.parentElement;
    taskItem.remove();
  }
});

3. 示例说明

示例一:添加新事项

用户在待办事项输入框中输入一条待办事项,点击添加按钮。输入框清空,并将待办事项添加到未完成事项展示区域中。

示例二:标记任务为已完成

用户点击某一未完成事项前面的复选框,该任务从未完成事项列表中移动到已完成事项列表中。

以上就是JS实现简单的todoList(记事本)效果的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现简单的todoList(记事本)效果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Django配置Bootstrap, js实现过程详解

    下面是关于Django配置Bootstrap和JS的实现过程的详细攻略。 步骤一:下载Bootstrap和jQuery库 首先,从Bootstrap官网(https://getbootstrap.com/),下载Bootstrap和jQuery库。下载完成后,将下载好的文件解压到项目的静态文件目录下。可以按照以下结构进行存放: your_project/ │…

    css 2023年6月9日
    00
  • css 中多种边框的实现小窍门

    下面是关于“css 中多种边框的实现小窍门”的完整攻略。 1. 常规边框样式 在 CSS 中,我们可以使用 border 属性来设置元素的边框样式。常规边框样式包括: solid:实线样式 dotted:点状样式 dashed:虚线样式 double:双线样式 groove:3D 浮雕样式(向内凹陷) ridge:3D 浮雕样式(向外凸起) inset:3D…

    css 2023年6月9日
    00
  • jQuery实现可以编辑的表格实例详解【附demo源码下载】

    下面是针对“jQuery实现可以编辑的表格实例详解【附demo源码下载】”这篇文章的完整攻略: 文章概述 这篇文章主要介绍了如何使用jQuery实现一个可以编辑的表格,并提供了对应的示例代码,帮助读者快速理解实现过程。文章主要分为以下几个部分: jQuery实现表格通用编辑功能 自定义编辑控件 编辑后保存数据 jQuery实现表格通用编辑功能 文章首先介绍了…

    css 2023年6月10日
    00
  • WebView的介绍与简单实现Android和H5互调的方法

    介绍: WebView是Andorid中提供的一种视图控件,它可以在应用中嵌入一个浏览器控件,并且可以开发者可以通过它来嵌套H5页面或者加载本地html文件,整合了nativ和webview,并且可以通过简单的代码实现两者之间的通信交互。在移动端中,WebView所扮演的作用非常重要,可以作为应用的嵌套控件,也可以用来作为轻量级的信息展示器。下面我们针对该控…

    css 2023年6月10日
    00
  • CSS border边框一半或者部分可见的实现代码

    要实现CSS border边框的一半或部分可见,可以通过以下的步骤: 首先,需要给元素设置一个固定的宽度和高度,以便能够指定边框的部分可见位置。 .element { width: 100px; height: 100px; } 然后,将边框的偏移量设置为负值,将边框向内部移动,从而只让一部分边框可见。例如,如果要让一个矩形框左边框一半可见,可以使用下面的代…

    css 2023年6月10日
    00
  • 详解vue过度效果与动画transition使用示例

    详解Vue过渡效果与动画Transition使用示例 在Vue中,为了使UI更加友好、动态,我们可以使用过度效果和动画来实现许多炫酷的效果。Vue提供了<transition>和<transition-group>两个组件,用于在DOM元素插入和删除时自动应用过渡效果和动画。 <transition>组件 <tran…

    css 2023年6月10日
    00
  • 让样式表CSS代码更加专业规范

    要让CSS代码更加专业规范,我们可以采用以下几个步骤。 1. 统一的代码风格 在CSS代码中,统一的代码风格可以提高代码可读性,便于代码维护。有几种常用的编码风格,如“K&R”风格、Google风格等。其中,“K&R”风格是最常见的,示例代码如下: .selector{ property: value; property: value; } …

    css 2023年6月9日
    00
  • 常用css属性查询表

    这里给你详细讲解一下常用 CSS 属性查询表的完整攻略。 什么是常用 CSS 属性查询表? 常用 CSS 属性查询表是一个非常好用的查询工具,它收录了大多数常用的 CSS 属性,并且提供了对应的示例代码,让我们可以更加直观地了解每个属性的用法及效果。 该查询表通常包括了 CSS 布局、盒模型、文本样式、背景样式、边框样式等众多属性。使用者只需要输入所需属性名…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部