持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
- 文本框里面输入内容,按下回车,就可以生成待办事项。
- 点击待办事项复选框,就可以把当前数据添加到已完成事项里面。
- 点击已完成事项复选框,就可以把当前数据添加到待办事项里面。但是本页面内容刷新页面不会丢失。
1. toDoList按下回车把新数据添加到本地存储里面
- 切记︰页面中的数据,都要从本地存储里面获取,这样刷新页面不会丢失数据,所以先要把数据保存到本地存储里面。
- 利用事件对象.keyCode判断用户按下回车键。
- 声明一个数组,保存数据。
- 先要读取本地存储原来的数据(声明函数getData) ),放到这个数组里面。
- 之后把最新从表单获取过来的数据,追加到数组里面。
- 最后把数组存储给本地存储(声明函数savaDate))
读取和存储本地数据的方法
function getDate() {
var data = localStorage.getItem("todolist");
if (data !== null) {
// 本地存储里面的数据是字符串格式的 但是我们需要的是对象格式的
return JSON.parse(data);
} else {
return [];
}
}
以下是将本地数据渲染加载到网页页面
- 因为后面也会经常渲染加载操作,所以声明一个函数load,方便后面调用
- 先要读取本地存储数据。(数据不要忘记转换为对象格式)
- 之后遍历这个数据($.each()),有几条数据,就生成几个小li添加到ol里面。
以下是删除操作
- 点击里面的a链接,不是删除的li,而是删除本地存储对应的数据。
- 核心原理∶先获取本地存储数据,删除对应的数据,保存给本地存储,重新渲染列表li
- 我们可以给链接自定义属性记录当前的索引号
- 根据这个索引号删除相关的数据----数组的splice(i, 1)方法存储修改后的数据,然后存储给本地存储
- 重新渲染加载数据列表
- 因为a是动态创建的,我们使用n方法绑定事件
数组中删除元素的方法
注意:第三个框的意思是将input的固有属性checked赋值给相应的done作为修改值,即修改为true。