• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 分享html5中localStorage的实例教程

分享html5中localStorage的实例教程

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,localStorage等相关知识,匿名希望在学习及工作中可以帮助到您
使用html5的storage来保存数据. 做了个小工具来用一下这个新特性。

需求说明: 有时发现有好的英语表达或者是陌生的单词,总是想记下来,但是过几天之后又不记得了,更别说运用了.

<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>SO EASY!</title>
<style type="text/css">
    html,body {
  background-color: #262;
        color: #fff;
        font-family: helvetica, arial, sans-serif;
        margin: 0;
        padding: 0;
        font-size: 11pt;
    }       
</style>
<script lang='text/javascript'>     window.addEventListener("load", eventWindowLoaded, false);     var entries = [];     var curIndex = -1;     function eventWindowLoaded()     {         loadEntries(1);         showNext();         var dayselection = $("dayselection");         dayselection.addEventListener("change", daysSelectionChanged, false);        } 
function daysSelectionChanged(e)
    {
        var target = e.target;
        loadEntries(target.value);

        clearTextarea();
        curIndex = -1;
        showNext();
        log('总共'+entries.length+'个, 当前第'+(curIndex+1)+'个');
    }
     function loadEntries(days)
    {
        var now = new Date().getTime();
        var arr = [];
        for(var i=0; i<localStorage.length; i++)
        {
            var time = localStorage.key(i);
            var daysBetween = (now - time)/24/60/60/1000;
            // console.log(daysBetween);
            if (daysBetween <= days)
            {
                var value = JSON.parse(localStorage.getItem(time));
                var entry = {time: time, data: value};
                arr.push(entry);
            }
        }
        entries = arr;
    }

    function saveEntry()
    {
        var data_en = $('en').value;
        var data_zh = $('zh').value;
        var data = {en: data_en, zh: data_zh};
        var time = new Date().getTime();
        if (data_en =='' && data_zh == '') // TODO: 正则
        {
            alert('必须输入中英文表达!');
        }
        else
        {
            localStorage.setItem(time, JSON.stringify(data));               
            // Update UI
            log('保存成功!');
            // ReLoad entries
            loadEntries($('dayselection').value);
            // Recovery current entry
            curIndex --;
            showNext();
        }
    }
     function deleteEntry()
    {
        var currentEntry = entries[curIndex];
        if (currentEntry)
        {
            localStorage.removeItem(currentEntry.time);
            // Update UI
            log('删除成功!');
            // Reload entries
            loadEntries($('dayselection').value);
            // Go to next entry
            curIndex --;
            showNext();
        }
    }

    function clearStorage()
    {
        localStorage.clear();
        log('数据初始化完成!');
    }

    function showNext()
    {   
        if (curIndex +1 <= entries.length-1)
        {
            curIndex ++;
            var entry = entries[curIndex];
            showTextarea(entry.data);

            log('总共'+entries.length+'个, 当前第'+(curIndex+1)+'个');
        }
    }

    function showPrevious()
    {
        if (curIndex-1 >= 0)
        {
            curIndex --;
            var entry = entries[curIndex];          
            showTextarea(entry.data);

            log('总共'+entries.length+'个, 当前第'+(curIndex+1)+'个');
        }
    }

    function showTextarea(data)
    {
        var target_en = $('en');
        var target_zh = $('zh');
        target_en.value = data.en;
        target_zh.value = data.zh;
    }

    function clearTextarea()
    {
        $('en').value = '';
        $('zh').value = '';
    }

    function $(id)
    {
        return document.getElementById(id);
    }

    function log(msg)
    {
        var target = document.getElementById('msg');
        target.innerHTML = msg;
    }
    </script>
</head>
<body>
<div style="position: absolute; top: 50px; left: 50px;">
    回顾:<select id="dayselection">
      <option value="1"> 1天内 </option>
      <option value="0.04166666667"> 1小时内 </option>
      <option value="3"> 3天内 </option>
      <option value="7"> 7天内 </option>
      <option value="14"> 14天内 </option>
      <option value="30"> 1月内 </option>
      <!-- <option value="">  </option> -->
    </select>
    </tr>
    <input type="button" id="prev" value="上一个" onclick="showPrevious();">
    <input type="button" id="next" value="下一个" onclick="showNext();">
    <hr> 英语表达:<br/>
    <textarea id="en" cols="40" rows="6"></textarea>
    <hr> 中文解释:<br/>
    <textarea id="zh" cols="40" rows="6"></textarea><br/>
    <input type="button" id="save" value="保存内容" onclick="saveEntry();">
    <input type="button" id="delete" value="删除内容" onclick="deleteEntry();">     
    <hr> <p id="msg"></p>

<div>
</body>
</html>

【相关推荐】

1. HTML5中Localstorage的使用教程_html5教程技巧

2. 浅谈html5 响应式布局

3. HTML5 程序设计

以上就是分享html5中localStorage的实例教程的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-032小时完成HTML5拼图小游戏代码图文介绍
  • 2018-12-03H5手机端页面缩放
  • 2018-12-03详解html5如何获取手机陀螺仪角度信息的示例代码
  • 2017-08-06如何使用html5与css3完成google涂鸦动画
  • 2018-12-03HTML5画布Canvas图片抽取、像素信息获取、命中检测
  • 2018-12-03HTML5实战与剖析之字符集属性(charset和defaultCharset)
  • 2018-12-03HTML5能干什么?详解html5的功能
  • 2018-12-03Html5 Canvas初探学习笔记(8) -阴影
  • 2018-12-03web/html5调用摄像头实现二维码扫描效果(代码实例)
  • 2018-12-03H5图像遮罩

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 关于自动校验的文章推荐
    • 使用分层画布来优化HTML5渲染的教程
    • html5 svg 中元素点击事件添加方法
    • HTML5 canvas绘图基本详解
    • HTML5实现下雪效果的实例代码分享
    • Html5新标签datalist实现输入框与后台数据库数据的动态匹配的详细介绍
    • 大公司或专业团队目前流行的前端工具有什么?
    • H5响应式网站设计有什么要求?
    • HTML5新特性之用SVG绘制微信logo _html5教程技巧
    • Html5 Canvas初探学习笔记(5) -绘图状态

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有