<!DOCTYPE HTML>
<html>
???? <head>
???????? <meta charset="utf-8">
???????? <title>HTML5--JS API-本地存储 Web留言板</title>
???????? <style type="text/css">
???????? *{margin:0; padding:0;}
???????? body,input{font-size:14px; line-height:24px; color:#333; font-family:Microsoft yahei, Song, Arial, Helvetica, Tahoma, Geneva;}
???????? h1{margin-bottom:15px; height:100px; line-height:100px; text-align:center; font-size:24px; color:#fff; background:#0051a1;}
???????? #content #post,#comment p{zoom:1;}
???????? #content #post:after,#comment p:after{display:block; height:0; clear:both; visibility:hidden; overflow:hidden; content:'.';}
???????? .transition{-webkit-transition:all 0.5s linear; -moz-transition:all 0.5s linear; -o-transition:all 0.5s linear; -ms-transition:all 0.5s linear; transition:all 0.5s linear;}
???????? #content{margin:0 auto; width:960px; overflow:hidden;}
???????? #content #post{margin-bottom:15px; padding-bottom:15px; border-bottom:1px #d4d4d4 dashed;}
???????? #content #post textarea{display:block; margin-bottom:10px; padding:5px; width:948px; height:390px; border:1px #d1d1d1 solid; border-radius:5px; resize:none; outline:none;}
???????? #content #post textarea:hover{border:1px #9bdf70 solid; background:#f0fbeb;}
???????? #content #post #postBt,#content #post #clearBt{margin-left:5px; padding:3px; float:right;}
???????? #comment{overflow:hidden;}
???????? #comment p{margin-bottom:10px; padding:10px; border-radius:5px;}
???????? #comment p:nth-child(odd){border:1px solid #e3e197; background:#ffd;}
???????? #comment p:nth-child(even){border:1px solid #adcd3c; background:#f2fddb;}
???????? #comment p span{display:inline; float:left;}
???????? #comment p .msg{width:738px;}
???????? #comment p .datetime{width:200px; color:#999; text-align:right;}
???????? </style>
???????? <script type="text/javascript">
???????? var Storage =
???????? {
???????????? saveData:function()//保存数据
???????????? {
???????????????? var data = document.querySelector("#post textarea");
???????????????? if(data.value != "")
???????????????? {
???????????????????? var time = new Date().getTime() + Math.random() * 5;//getTime是Date对象中的方法,作用是返回 1970年01月01日至今的毫秒数
???????????????????? localStorage.setItem(time, data.value + "|" + this.getDateTime());//将毫秒数存入Key值中,可以降低Key值重复率
???????????????????? data.value = "";
???????????????????? this.writeData();
???????????????? }
???????????????? else
???????????????? {
???????????????????? alert("请填写您的留言!");
???????????????? }
???????????? },
???????????? writeData:function()//输出数据
???????????? {
???????????????? var dataHtml = "", data = "";
???????????????? for(var i = localStorage.length-1; i >= 0; i--)//效率更高的循环方法
???????????????? {
???????????????????? data = localStorage.getItem(localStorage.key(i)).split("|");
???????????????????? dataHtml += "<p><span class=\"msg\">" + data[0] + "</span><span class=\"datetime\">" + data[1] + "</span></p>";
???????????????? }
???????????????? document.getElementById("comment").innerHTML = dataHtml;
???????????? },
???????????? clearData:function()//清空数据
???????????? {
???????????????? if(localStorage.length > 0)
???????????????? {
???????????????????? if(window.confirm("清空后不可恢复,是否确认清空?"))
???????????????????? {
???????????????????????? localStorage.clear();
???????????????????????? this.writeData();
???????????????????? }
???????????????? }
???????????????? else
???????????????? {
???????????????????? alert("没有需要清空的数据!");
???????????????? }
???????????? },
???????????? getDateTime:function()//获取日期时间,例如 2012-03-08 12:58:58
???????????? {
???????????????? var isZero = function(num)//私有方法,自动补零
???????????????? {
???????????????????? if(num < 10)
???????????????????? {
???????????????????????? num = "0" + num;
???????????????????? }
???????????????????? return num;
???????????????? }
????????????????
???????????????? var d = new Date();
???????????????? return d.getFullYear() + "-" + isZero(d.getMonth() + 1) + "-" + isZero(d.getDate()) + " " + isZero(d.getHours()) + ":" + isZero(d.getMinutes()) + ":" + isZero(d.getSeconds());
???????????? }???????????
???????? }
????????
???????? window.onload = function()
???????? {
???????????? Storage.writeData();//当打开页面的时候,先将localStorage中的数据输出一边,如果没有数据,则输出空
???????????? document.getElementById("postBt").onclick = function(){Storage.saveData();}//发表评论按钮添加点击事件,作用是将localStorage中的数据输出
???????????? document.getElementById("clearBt").onclick = function(){Storage.clearData();}//清空所有已保存的数据
???????? }
???????? </script>
???? </head>
????
<body>
???????? <h1>HTML5--JS API-本地存储 Web留言板</h1>
???????? <div id="content">
???????????? <div id="post">
???????????????? <textarea class="transition"></textarea>
???????????????? <input id="postBt" type="button" value="发表评论"/>
???????????????? <input id="clearBt" type="button" value="清空所有已保存的数据"/>
???????????? </div>
???????????? <div id="comment"></div>
???????? </div>
</body>
?</html>
详细解决方案
html5 本土存储 留言板
热度:1022 发布时间:2013-06-26 14:29:32.0
相关解决方案
- HTML5 3D图,该怎么解决
- html5+.net联合开发的有关问题
- HTML5 离线效能详解 - 构建 Offline Web Application
- HTML5,该如何解决
- HTML5/CSS3培训课程
- html5 上传适用小例子
- HTML5+CSS3课程2
- HTML5 Canvas实战――HTML5 Canvas时间成效
- HTML5-audio跟video API
- HTML5-札记
- html5 小技能
- html5 div呈圆形 扇形显示的式样
- HTML5+CSS3制作可自动获得焦点和支持语音输入的超酷搜索框
- HTML5+CSS3制造可自动获得焦点和支持语音输入的超酷搜索框
- html5 chm 相助文档
- html5 输入框默许提示
- html5 本土存储 留言板
- html5 初探二 表单
- html5 input的type属性起动数字输入法
- html5-canvas篇
- HTML5-话音搜索框
- html5 placeholder 属性 并检测浏览器是不是支持这个属性
- HTML5 装置访问入门
- What does idl attribute mean in the W3C html5 standard document
- HTML5 入门稿件目录汇总
- html5 svg 中元素点击事件平添
- html5 canvas 画图形,改变填充颜色解决思路
- html5 canvas做手写签名,该如何解决
- html5 canvas 里边绘制标题 和阴影
- HTML5 拖拽下传图片实例