<!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>
- 浏览: 260658 次
- 性别:
- 来自: 北京
最新评论
-
haixin3036:
jQuery是一套跨浏览器的JavaScript库,简化HTM ...
jquery sizzle 选择器浅析 -
panshunchang:
非常感谢分享,正找这东西呢。
基于jQuery的QQ表情插件 -
yuur369:
不错。。。
移动端webapp开发必备知识
发表评论
-
CSS团队协作开发方式的思考
2014-05-29 10:59 761有效的团队协作开发, ... -
Javascript类定义语法,私有成员、受保护成员、静态成员等
2014-05-29 10:59 727JS只是一门支持面向对象编程的语言,通过OO可以让我们的 ... -
Javascript 继承模式
2014-05-29 10:59 723在面向对象的JavaScript开发中使用继承可以提高代码 ... -
用JavaScript实现自己的DOM选择器
2014-05-28 14:27 680解释器模式(Interpreter):定义一种语法格式,通过 ... -
Javsript代码的注释和模块定义
2014-05-28 14:21 835可以这样定义模块: (function(ns, re ... -
在JavaScript中应用单例模式管理命名空间
2014-05-28 10:56 801单例模式确保一个类在整个应用程序中只有一个是实例对象,在J ... -
移动WEB开发中媒体查询里的width, device-width, resolution
2014-05-28 10:14 1010/*1、width: viewport的宽度,css像素,三星 ... -
前端性能优化
2014-05-27 15:16 8851. 请减少HTTP请求 基本原理: ... -
jquery sizzle 选择器浅析
2014-05-26 14:23 1214看了jquery的源码,jquery用的选择器的引擎是siz ... -
jQuery 1.8,1.9和2.0分别带来的新特性
2014-05-26 14:17 1336jQuery 1.8 可定制 在jQuery ... -
jquery点击div之外的地方div本身消失
2014-05-15 12:22 881<!DOCTYPE html PUBLIC " ... -
jquery-migrate: 迁移旧的jQuery代码至jQuery1.9以上的版本
2014-05-14 16:31 652这个插件可以用来检测和恢复在jQuery1.9版本中已删除或 ... -
移动WEB在线开发工具 – Codiqa
2014-05-12 15:43 641Codiqa,https://codiqa.com 简单试用 ... -
一种比CSS-Sprite更加方便在网页中嵌入大量图标的方法
2014-05-12 15:34 589这种思路是在一个国外的网站上发现的,设计者在网站中使用了很多 ... -
Google Developers的ResetCSS
2014-05-12 10:32 599@charset "utf-8"; ht ... -
Android手机版浏览器DIV滚动条失效解决方案
2014-05-08 11:09 1214除了BODY和HTML的滚动条,在触屏下几乎所有浏览器都不支 ... -
解耦HTML、CSS和JavaScript
2014-02-14 11:32 627当前在互联网上, ... -
设置双核浏览器的浏览模式
2014-01-20 15:44 662如果访问的页面中有 CSS3 代码,双核浏览器会自动切换到 ... -
使用console.table()调试javascript
2014-01-20 15:42 612或许你已经习惯了console.log()来调试js,非常好 ... -
iOS下无法正常渲染按钮的问题
2014-01-20 15:40 646最近做移动端的页面,碰到了一个问题,就是css无法定义按钮样 ...
相关推荐
NULL 博文链接:https://yuruei2000.iteye.com/blog/1489088
运用本地存储技术实现留言。实现留言,删除留言,等功能。有时间记录,可以作为自己的一个小便签非常方便。
HTML静态网页留言板ASP自动代码, 解压到你的网站根目录即可guestbook/index.html 本程序是html显示,提交,实现了很多人想要的“html留言板” 本程序没有做登陆验证,请用户自己添加
1.3 HTML的基本结构 5 1.3.1 HTML文件的编写方法 5 1.3.2 文件开始标签<html> 7 1.3.3 文件头部标签<head> 7 1.3.4 文件标题标签<title> 7 1.3.5 文件主体标签<body> 7 1.3.6...
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....
使用html,css,js等基本语言开发设计的一个网页,具有丰富的界面交互样式。包括名胜古迹风景的图片展示,也包括些叙述文字。同时还实现了留言板功能,使用本地的数据库对留言信息进行存储。
(3)使用BOM调用浏览器功能1次,例如页面滚动、秒杀倒计时、打印、通知、本地存储等。 (4)使用ECharts库(https://echarts.apache.org)实现数据可视化1次。使用Swiper框架(https://www.swiper.com.cn)实现轮播图1次。 ...
第8章 事件委托、时间操作、标签的可编辑属性、(本地存储) 和 JSON 格式 第9章 作业选讲、抽象化, 如何封装功能, 如何组织代码结构、变量命名的方法 第10章 HTTP 协议 和 AJAX、DOM 事件机制, 事件冒泡和事件捕获 第...
前端利用Ajax和后端进行数据交换,实现了注册和登陆的表单验证、数据存储以及留言板的评论功能;服务端采用了nodejs的express搭建了服务器,设置路由,配置了本地服务器环境;同时利用MongoDB建立了数据库.
8、 网站上传的图片、附件、视频等资源支持本地存储、阿里云对象存储、腾讯云对象存储,有利于减少带宽和分散服务器的压力,提交用户体验; 9、 进一步区分各个站点的数据,包括订单、会员等信息,重点打造移动平台、...
我们将用作留言板,并且几乎将所有沟通保持公开状态。 如果出于任何原因您需要私下联系组织者,则可以直接与我们联系。 团队 布莱恩·休斯(Bryan Hughes), 费尔南多· 托马斯·亨特二世(Thomas Hunter II),...
数据库临时转文件本地储存架构,可以从根本降低数据库的读写压力,提高网站整体访问与反应速度(使用得当,此功能完全优于生成HTML功能);支持application等常规缓存技术,可在后台选择,依据自身运行服务器的能力...
9、OSS管理添加appkey_secretId后台未解密导致数据存储错误 10、会员中心留言列表报错 11、工作流节点空值处理 12、手机模板在静态页生成的情况下url错误处理 13、新增百度主动推送 14、内容删除同时删除...
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章 字符的处理...
数据库临时转文件本地储存架构,可以从根本降低数据库的读写压力,提高网站整体访问与反应速度(使用得当,此功能完全优于生成HTML功能); 支持application等常规缓存技术,可在后台选择,依据自身运行服务器的...
【GB2转BIG5】 将选中区域存储格的简体字(GB2)批量转换成繁体操作系统的繁体(BIG5)。 【BIG5转GB2】 将选中区域存储格的繁体字(BIG5)批量转换成简体操作系统的简体(GB2)。 完 美 背 景 着 色 【选区背景】...
系统默认在站点根目录,如果你在子目录下面运行本程序,请在数据库连接名称前加上目录名称\uff1bdb='\\Database\\#newasp.mdb'改为\uff1adb='\\\u5b50\u76ee\u5f55\\Database\\#newasp.mdb'前面一定要加上“\”;...
关于计算机毕业实习报告介绍全文共5页,当前为第1页。关于计算机毕业实习报告介绍全文共5页,当前为第1页。关于计算机毕业实习报告介绍 关于计算机毕业实习报告介绍全文共5页,当前为第1页。 关于计算机毕业实习报告...
2、 用它可以开发常见的企业网站,电商系统,线上互联网平台,互动平台,在线订购,留言反馈,还有手机互动类的系统,如手机订购,手机上服务或产品预定,手机网站,手机上接收客户反馈留言,以及企业的内部管理信息...