前端三大件实现一个简易的ToDoList

4. 缓存数据

源代码如下:

index.html

ToDoList

TodoList

添加

未完成

    已完成

      style.css

      • {

      margin: 0;

      border: 0;

      }

      body {

      display: flex;

      justify-content: center;

      align-items: center;

      margin: 0;

      min-height: 100vh;

      background-color: #eeeeee;

      }

      .box {

      width: 35%;

      height: 300px;

      background-color: white;

      }

      .header {

      display: inline-flex;

      color: #007acc;

      width: 100%;

      height: 50px;

      position: relative;

      border: 2px solid #007acc;

      border-radius: 5px 5px 0px 0px;

      background-color: white;

      }

      .header>h1 {

      margin-left: 5px;

      margin-top: 5px;

      }

      .header-right {

      width: 70%;

      margin-left: auto;

      height: 50px;

      }

      #input {

      background-color: white;

      border: 1px solid #007acc;

      width: 80%;

      height: 40px;

      margin-top: 5px;

      margin-left: 5px;

      border-radius: 5px;

      box-sizing: border-box;

      outline: none;

      padding-left: 5px;

      padding-right: 5px;

      }

      #header-right-button {

      height: 40px;

      width: 15%;

      border-radius: 5px;

      background-color: white;

      border: 1px solid #007acc;

      outline: none;

      }

      .content {

      width: 100%;

      border: 2px solid #007acc;

      border-top: 0;

      padding-bottom: 10px;

      border-radius: 0px 0px 5px 5px;

      background-color: white;

      }

      .content h2 {

      color: #007acc;

      margin: 5px;

      margin-top: 0;

      font-weight: 400;

      }

      ul {

      width: 100%;

      min-height: 100px;

      }

      li {

      display: inline-flex;

      border: 1px solid #007acc;

      height: 40px;

      width: 93%;

      margin-left: -5%;

      padding-left: 5px;

      padding-right: 5px;

      border-left: 5px solid #007acc;

      position: relative;

      border-radius: 5px;

      margin-bottom: 5px;

      }

      li>input {

      position: relative;

      top: 25%;

      height: 1.5em;

      width: 1.5em;

      margin-right: 5px;

      }

      li>p {

      font-size: 16px;

      line-height: 40px;

      color: #252526;

      }

      li>img {

      width: 25px;

      height: 25px;

      margin-top: 7.5px;

      margin-left: auto;

      }

      index.js

      /*

      • author: sweet

      • date: 2021年8月24日

      • descript: 实现一个简易的ToDoList

      • */

      let ul_todo = document.getElementById(“todo”);

      let ul_finish = document.getElementById(“finish”);

      let inputPlan = document.getElementById(“input”);

      let buttonPlan = document.getElementById(“header-right-button”);

      /*

      • 添加计划

      • @param {localStorage中的key} e

      • @param {计划内容} text

      • @param {计划完成状态} status

      */

      function sw_addPlan(e, text, status) {

      let todoText;

      let date;

      if (e) { // 非首次加载,赋参数值

      date = e;

      todoText = text;

      } else { // 首次加载赋新值

      todoText = inputPlan.value;

      if (!todoText) {

      return;

      }

      date = “sweet-” + Date.now();

      }

      let li = document.createElement(“li”);

      let input = document.createElement(“input”);

      let p = document.createElement(“p”);

      let img = document.createElement(“img”);

      li.id = date;

      input.type = “checkbox”;

      input.className = “checkbox”;

      p.className = “todo-text”;

      p.innerHTML = todoText;

      img.src = “./resources/trash.png”;

      img.className = “deletePlan”;

      input.addEventListener(“change”, sw_handleChange);

      img.addEventListener(“click”, sw_deletePlan);

      if (status) {

      ul_finish.appendChild(li);

      input.checked = true;

      } else {

      ul_todo.appendChild(li);

      }

      li.appendChild(input);

      li.appendChild§;

      li.appendChild(img);

      if (!e) {

      let storageData = {

      最后

      自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

      深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

      因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

      img

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

      如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

      由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
      料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

      [外链图片转存中…(img-GaL0Mo18-1715880787742)]

      [外链图片转存中…(img-zwgrUuD1-1715880787743)]

      [外链图片转存中…(img-LzNHGFiq-1715880787743)]

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

      如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

      由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

      • 4
        点赞
      • 8
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值