使用localStorage写一个简单的备忘录
使用html+js实现一个简单的备忘录,主要体会一下localStorage的用法。
先看看效果图:

在输入框中输入文字,点击保存按钮,文本内容会在下放展示出来,
然后刷新下浏览器,会发现文本内容不会丢失,这是因为文本内容被保存到localStorage中了,
可以理解为保存到了浏览器的Cookie中。再点击"清空本地存储",会发现下方的文本都没有了。
--------------------------------------------------------------------------------------
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5-任务列表</title>
</head>
<body>
<body>
<div>
<input id="todoMsg" type="text" width='200'></input>
<input id="saveMsg" type="button" value="保存"/>
<input id="clearMsg" type="button" value="清空本地存储"/>
<p style="color: #286090;font-size: 20px;">任务列表</p>
<hr/>
<div id="todoList"></div>
</div>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
// 从本地存储加载任务列表
var msgList = localStorage.getItem("msgList"); if (msgList !== null && msgList !== undefined && msgList != '') {
// 展示任务列表
document.getElementById("todoList").innerHTML = msgList;
}
// 添加并保存单个任务
$("#saveMsg").click(function () {
var todoMsg = document.getElementById("todoMsg").value;
if (todoMsg == null || todoMsg == '') {
alert("请输入任务")
return;
}
var todoMsgHtml = '<h5><span style="color: red">任务:</span>' + todoMsg + '</h5>';
// 追加到任务列表
msgList = (msgList == null ? '' : msgList) + todoMsgHtml;
localStorage.setItem("msgList", msgList);
// 刷新任务列表
document.getElementById("todoList").innerHTML = msgList;
});
// 清空任务列表并刷新浏览器
$("#clearMsg").click(function () {
localStorage.clear();
document.getElementById("clearMsg").innerHTML = "";
location.reload();
});
</script>
</body>
</body>
</html>
------------------------------------------------------------------------------------------------------
总结:功能简单,主要体会下localStorage的用法。
下一步打算写个漂亮点的任务看板放到云服务器上给大家免费试用,无需登录即可快速创建任务(基于浏览器Cookie存储),
同时具备微信扫码登录功能,可将任务同步到服务器永久保存,也可以一键导出任务列表到本地磁盘。
使用localStorage写一个简单的备忘录的更多相关文章
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- 如何写一个简单的http服务器
最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...
- 如何写一个简单的shell
如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- 一步一步写一个简单通用的makefile(三)
上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...
- Java写一个简单学生管理系统
其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来 ...
- (2)自己写一个简单的servle容器
自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...
- express 写一个简单的web app
之前写过一个简单的web app, 能够完成注册登录,展示列表,CURD 但是版本好像旧了,今天想写一个简单的API 供移动端调用 1.下载最新的node https://nodejs.org/zh- ...
- 写一个简单的C词法分析器
写一个简单的C词法分析器 在写本文过程中,我参考了<词法分析器的实现>中的一些内容.这里我们主要讨论写一个C语言的词法分析器. 一.关键字 首先,C语言中关键字有: auto.break. ...
随机推荐
- MyBatis_tp50_动态sql_sql标签_抽取可重用的sql片段_使用include标签进行引用
笔记要点出错分析与总结 include内部使用自定的属性,之能使用$ {}来取值 ,#{}不能用 工程组织数据库组织0.重新修改Bean类1.定义接口 public interface Employe ...
- c# 定时关闭 MessageBox 或弹出的模态窗口
我们都知道,MessageBox弹出的窗口是模式窗口,模式窗口会自动阻塞父线程的.所以如果有以下代码: MessageBox.Show("内容',"标题"); 则只有关闭 ...
- Mybatis控制台打印SQL语句的两种方式
问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就 ...
- 扫雷小游戏PyQt5开发【附源代码】
也没啥可介绍哒,扫雷大家都玩过. 雷的分布算法也很简单,就是在雷地图(map:二维数组)中,随机放雷,然后这个雷的8个方位(上下左右.四个对角)的数字(非雷的标记.加一后不为雷的标记)都加一. 如何判 ...
- java中equals和==的使用
==可以用来比较基本数据类型和引用数据类型,在进行基本数据类型的比较时,比较的具体的值,进行引用数据类型比较,比较的是引用指向对象在内存中的地址,但是String进行比较需要注意 package cn ...
- LightOJ - 1095 - Arrange the Numbers(错排)
链接: https://vjudge.net/problem/LightOJ-1095 题意: Consider this sequence {1, 2, 3 ... N}, as an initia ...
- [NgRx] Optimistically Editing Entity Data
First thing first, let's define a action to update entity: import { createAction, props } from " ...
- Thinkphp远程代码执行 payload汇总
Thinkphp 5.0.22http://192.168.1.1/thinkphp/public/?s=.|think\config/get&name=database.usernameht ...
- How To Set The Hostname On Ubuntu Or Debian?
$ sudo hostnamectl set-hostname your-hostname $ sudo vim /etc/hosts Open the hosts file and add the ...
- YAML_05 定义一个变量创建用户,设置密码
ansible]# vim user2.yml --- - hosts: cache remote_user: root vars: user: wangwu tasks: ...