localStorage实现便签小程序


Posted in Javascript onNovember 28, 2016

前言:今天写了个小练习,把这几天看的东西巩固一下,在这个程序中用到了localStorage存储和json串的转换。

下面是具体的实现代码:

(1)首先判断是否存在用户,从而显示相应的界面

function isUser()
{
  var storage = window.localStorage;
  if (storage.user != undefined)
  {
    document.getElementById("showmess").style.display = "block";
    document.getElementById("fillmess").style.display = "none";
  }
  else
  {
    document.getElementById("showmess").style.display = "none";
    document.getElementById("fillmess").style.display = "block";
  }  
}

(2)存储用户信息

var pic; //全局变量存储图片信息
/*从本地电脑获得图片*/
 function add_files(files) {
        if (files.length) {
          var file = files[0];
          var reader = new FileReader();
          reader.onload = function(e) {
            document.getElementById("userpic").src = e.target.result;
            pic = e.target.result;
          }
          reader.readAsDataURL(file);
        }
      }
function saveUserMess()
{
  var name = document.getElementById("username").value;
  if (name != "")
  {
    var storage = window.localStorage;
    var jsonObj = {
                name:name,
                icon:pic
              }; 
      var user = JSON.stringify(jsonObj);
      storage.setItem("user",user);
  }
  else
  {
    alert("昵称不为空"); 
  }
}

localStorage实现便签小程序

(3)用户输入便签内容,并保存

function save_diary()
{
 var headle = document.getElementById("headle").value;
 var cont = document.getElementById("diary").value;
 if (headle != "" && cont != "")
 {
  var storage = window.localStorage;
  if (storage.diary != undefined)
  {
   var diary = storage.getItem("diary");
   var jsonObj = JSON.parse(diary);
   var diaryItem = {
        headle:headle,
        diary:cont,
        date:new Date()
       }; 
   jsonObj.push(diaryItem);
   var data = JSON.stringify(jsonObj);
   storage.setItem("diary",data); 
  }

  else
  {
   var jsonObj = [{
        headle:headle,
        diary:cont,
        date:new Date()
       }]; 
   var diary = JSON.stringify(jsonObj);
   storage.setItem("diary",diary);
  }
 }
 else
 {
  alert("标题和内容不为空哦"); 
 }
}

localStorage实现便签小程序

(4)将用户便签信息显示在见面

function showDiary()
{
  var storage = window.localStorage;
  var mess = JSON.parse(storage.user);
  if (storage.diary != undefined)
  {
    var json = JSON.parse(storage.diary);
    var div_id = document.getElementById("diarymess");
    for (var i = 0; i < json.length; i++)
    {

      div_id.innerHTML+='<div><button class="btn btn-success"'+'type="button" id="dropdownMenu" onclick="show(this)"><div class="col-md-4"><img src='+mess.icon+' class="img-circle size" id="userpic"><br><font style="text-align:center">'+mess.name+'</font></div><div class="col-md-8"><h2>'+json[i].headle+'</h2><font>'+json[i].date+'</font></div><span class="caret" style="margin-top:50px;">'+'</span></button><p style="display:none">'+json[i].diary+'</p><div>'; 
    }

  }
}

localStorage实现便签小程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 Javascript
判定是否原生方法的JS代码
Nov 12 Javascript
js中split和replace的用法实例
Feb 28 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
Vue+mui实现图片的本地缓存示例代码
May 24 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
vuex实现的简单购物车功能示例
Feb 13 Javascript
fastadmin中调用js的方法
May 14 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 #Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 #Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 #Javascript
正则表达式,替换所有HTML标签的简单实例
Nov 28 #Javascript
基于slideout.js实现移动端侧边栏滑动特效
Nov 28 #Javascript
js实现右键菜单功能
Nov 28 #Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 #Javascript
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
php 操作调试的方法
2012/07/12 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
详谈javascript异步编程
2016/02/21 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
在Python的Django框架中编写编译函数
2015/07/20 Python
Python实现excel转sqlite的方法
2017/07/17 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
详解Python的循环结构知识点
2019/05/20 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
中层干部竞争上岗演讲稿
2014/01/13 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL