最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

分享html5中localStorage的实例教程

来源:懂视网 责编:小采 时间:2020-11-27 15:08:42
文档

分享html5中localStorage的实例教程

分享html5中localStorage的实例教程:使用html5的storage来保存数据. 做了个小工具来用一下这个新特性。需求说明: 有时发现有好的英语表达或者是陌生的单词,总是想记下来,但是过几天之后又不记得了,更别说运用了.<!DOCTYPE html> <head> <meta charset=&
推荐度:
导读分享html5中localStorage的实例教程:使用html5的storage来保存数据. 做了个小工具来用一下这个新特性。需求说明: 有时发现有好的英语表达或者是陌生的单词,总是想记下来,但是过几天之后又不记得了,更别说运用了.<!DOCTYPE html> <head> <meta charset=&

使用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 程序设计

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

分享html5中localStorage的实例教程

分享html5中localStorage的实例教程:使用html5的storage来保存数据. 做了个小工具来用一下这个新特性。需求说明: 有时发现有好的英语表达或者是陌生的单词,总是想记下来,但是过几天之后又不记得了,更别说运用了.<!DOCTYPE html> <head> <meta charset=&
推荐度:
标签: 分享 教程 html5
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top