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 相关文章推荐
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 Javascript
js事件源window.event.srcElement兼容性写法(详解)
Nov 25 Javascript
Jil,高效的json序列化和反序列化库
Feb 15 Javascript
node+vue实现用户注册和头像上传的实例代码
Jul 20 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
JavaScript门面模式详解
Oct 19 Javascript
Vue2.0用户权限控制解决方案
Nov 29 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
深入理解 JS 垃圾回收
Jun 03 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 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数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
python统计cpu利用率的方法
2015/06/02 Python
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
如何通过Python实现标签云算法
2019/07/02 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
违反课堂纪律检讨书
2014/01/19 职场文书
端午节活动总结
2014/08/26 职场文书
学习礼仪心得体会
2014/09/01 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
nginx请求限制配置方法
2021/07/09 Servers