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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
解决WordPress使用CDN后博文无法评论的错误
Dec 15 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
微信开发 使用picker封装省市区三级联动模板
Oct 28 Javascript
JS常用加密编码与算法实例总结
Dec 22 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
Vue项目移动端滚动穿透问题的实现
May 19 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源代码数组统计count分析
2011/08/02 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
jQuery 动画基础教程
2008/12/25 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
javascript学习之json入门
2016/12/22 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
用Python制作在地图上模拟瘟疫扩散的Gif图
2015/03/31 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
python如何统计序列中元素
2020/07/31 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
企业治理工作自我评价
2013/09/26 职场文书
研修心得体会
2014/09/04 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android