`
axl234
  • 浏览: 260658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

html5 本地存储 留言板

 
阅读更多

<!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>

分享到:
评论

相关推荐

    【 YR-HTML5】Web Storage实现本地留言板

    NULL 博文链接:https://yuruei2000.iteye.com/blog/1489088

    HTML5--JS API-本地存储 Web留言板

    运用本地存储技术实现留言。实现留言,删除留言,等功能。有时间记录,可以作为自己的一个小便签非常方便。

    HTML静态网页留言板ASP自动代码

    HTML静态网页留言板ASP自动代码, 解压到你的网站根目录即可guestbook/index.html 本程序是html显示,提交,实现了很多人想要的“html留言板” 本程序没有做登陆验证,请用户自己添加

    从入门到精通HTML5——PDF——网盘链接

     1.3 HTML的基本结构 5  1.3.1 HTML文件的编写方法 5  1.3.2 文件开始标签&lt;html&gt; 7  1.3.3 文件头部标签&lt;head&gt; 7  1.3.4 文件标题标签&lt;title&gt; 7  1.3.5 文件主体标签&lt;body&gt; 7  1.3.6...

    HTML5+CSS3 快速入门 前端 源代码.rar

    31.简单的网页留言板26:36 32.video元素与audio元素的基础知识20:10 33.video元素与audio元素的常用属性32:18 34.HTML5拖放22:41 35.CSS3简介04:11 36.CSS3新增的属性选择器22:17 37.结构性伪类选择器上28:52 38....

    安徽省名胜古迹展示.zip

    使用html,css,js等基本语言开发设计的一个网页,具有丰富的界面交互样式。包括名胜古迹风景的图片展示,也包括些叙述文字。同时还实现了留言板功能,使用本地的数据库对留言信息进行存储。

    家居网-网页课程设计(JS + CSS + HTMl )+ 设计报告

    (3)使用BOM调用浏览器功能1次,例如页面滚动、秒杀倒计时、打印、通知、本地存储等。 (4)使用ECharts库(https://echarts.apache.org)实现数据可视化1次。使用Swiper框架(https://www.swiper.com.cn)实现轮播图1次。 ...

    知乎大神萧井陌web前端课程

    第8章 事件委托、时间操作、标签的可编辑属性、(本地存储) 和 JSON 格式 第9章 作业选讲、抽象化, 如何封装功能, 如何组织代码结构、变量命名的方法 第10章 HTTP 协议 和 AJAX、DOM 事件机制, 事件冒泡和事件捕获 第...

    我的个人博客

    前端利用Ajax和后端进行数据交换,实现了注册和登陆的表单验证、数据存储以及留言板的评论功能;服务端采用了nodejs的express搭建了服务器,设置路由,配置了本地服务器环境;同时利用MongoDB建立了数据库.

    DTcms_50_sql_src最新旗舰版带手机和微信公众号设置

    8、 网站上传的图片、附件、视频等资源支持本地存储、阿里云对象存储、腾讯云对象存储,有利于减少带宽和分散服务器的压力,提交用户体验; 9、 进一步区分各个站点的数据,包括订单、会员等信息,重点打造移动平台、...

    旧金山:用于组织旧金山节点学校的回购

    我们将用作留言板,并且几乎将所有沟通保持公开状态。 如果出于任何原因您需要私下联系组织者,则可以直接与我们联系。 团队 布莱恩·休斯(Bryan Hughes), 费尔南多· 托马斯·亨特二世(Thomas Hunter II),...

    阿赛企业网站系统 17.rar

    数据库临时转文件本地储存架构,可以从根本降低数据库的读写压力,提高网站整体访问与反应速度(使用得当,此功能完全优于生成HTML功能);支持application等常规缓存技术,可在后台选择,依据自身运行服务器的能力...

    jeecms v9.3 正式版 源码包.zip

    9、OSS管理添加appkey_secretId后台未解密导致数据存储错误 10、会员中心留言列表报错 11、工作流节点空值处理 12、手机模板在静态页生成的情况下url错误处理 13、新增百度主动推送 14、内容删除同时删除...

    php网络开发完全手册

    6.3 本地文件的操作实例——小型留言本 96 6.3.1 留言发表模块 96 6.3.2 浏览模块 98 6.4 远程文件的操作实例 99 6.5 文件的上传与下载 99 6.5.1 文件的上传 99 6.5.2 文件的下载 100 6.6 小结 101 第7章 字符的处理...

    阿赛企业网站系统 v19.zip

    数据库临时转文件本地储存架构,可以从根本降低数据库的读写压力,提高网站整体访问与反应速度(使用得当,此功能完全优于生成HTML功能); 支持application等常规缓存技术,可在后台选择,依据自身运行服务器的...

    EXCEL集成工具箱V6.0

    【GB2转BIG5】 将选中区域存储格的简体字(GB2)批量转换成繁体操作系统的繁体(BIG5)。 【BIG5转GB2】 将选中区域存储格的繁体字(BIG5)批量转换成简体操作系统的简体(GB2)。 完 美 背 景 着 色 【选区背景】...

    炫乐吧FLASH动漫频道炫绿缤纷AC版带采集生成html XL2.0

    系统默认在站点根目录,如果你在子目录下面运行本程序,请在数据库连接名称前加上目录名称\uff1bdb='\\Database\\#newasp.mdb'改为\uff1adb='\\\u5b50\u76ee\u5f55\\Database\\#newasp.mdb'前面一定要加上“\”;...

    关于计算机毕业实习报告介绍.docx

    关于计算机毕业实习报告介绍全文共5页,当前为第1页。关于计算机毕业实习报告介绍全文共5页,当前为第1页。关于计算机毕业实习报告介绍 关于计算机毕业实习报告介绍全文共5页,当前为第1页。 关于计算机毕业实习报告...

    赣极建站系统 v2.0.rar

    2、 用它可以开发常见的企业网站,电商系统,线上互联网平台,互动平台,在线订购,留言反馈,还有手机互动类的系统,如手机订购,手机上服务或产品预定,手机网站,手机上接收客户反馈留言,以及企业的内部管理信息...

Global site tag (gtag.js) - Google Analytics