<!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>
- 浏览: 271764 次
- 性别:
- 来自: 北京
-
最新评论
-
haixin3036:
jQuery是一套跨浏览器的JavaScript库,简化HTM ...
jquery sizzle 选择器浅析 -
panshunchang:
非常感谢分享,正找这东西呢。
基于jQuery的QQ表情插件 -
yuur369:
不错。。。
移动端webapp开发必备知识
发表评论
-
CSS团队协作开发方式的思考
2014-05-29 10:59 807有效的团队协作开发, ... -
Javascript类定义语法,私有成员、受保护成员、静态成员等
2014-05-29 10:59 788JS只是一门支持面向对象编程的语言,通过OO可以让我们的 ... -
Javascript 继承模式
2014-05-29 10:59 761在面向对象的JavaScript开发中使用继承可以提高代码 ... -
用JavaScript实现自己的DOM选择器
2014-05-28 14:27 734解释器模式(Interpreter):定义一种语法格式,通过 ... -
Javsript代码的注释和模块定义
2014-05-28 14:21 896可以这样定义模块: (function(ns, re ... -
在JavaScript中应用单例模式管理命名空间
2014-05-28 10:56 841单例模式确保一个类在整个应用程序中只有一个是实例对象,在J ... -
移动WEB开发中媒体查询里的width, device-width, resolution
2014-05-28 10:14 1044/*1、width: viewport的宽度,css像素,三星 ... -
前端性能优化
2014-05-27 15:16 9311. 请减少HTTP请求 基本原理: ... -
jquery sizzle 选择器浅析
2014-05-26 14:23 1265看了jquery的源码,jquery用的选择器的引擎是siz ... -
jQuery 1.8,1.9和2.0分别带来的新特性
2014-05-26 14:17 1415jQuery 1.8 可定制 在jQuery ... -
jquery点击div之外的地方div本身消失
2014-05-15 12:22 927<!DOCTYPE html PUBLIC " ... -
jquery-migrate: 迁移旧的jQuery代码至jQuery1.9以上的版本
2014-05-14 16:31 721这个插件可以用来检测和恢复在jQuery1.9版本中已删除或 ... -
移动WEB在线开发工具 – Codiqa
2014-05-12 15:43 710Codiqa,https://codiqa.com 简单试用 ... -
一种比CSS-Sprite更加方便在网页中嵌入大量图标的方法
2014-05-12 15:34 648这种思路是在一个国外的网站上发现的,设计者在网站中使用了很多 ... -
Google Developers的ResetCSS
2014-05-12 10:32 655@charset "utf-8"; ht ... -
Android手机版浏览器DIV滚动条失效解决方案
2014-05-08 11:09 1359除了BODY和HTML的滚动条,在触屏下几乎所有浏览器都不支 ... -
解耦HTML、CSS和JavaScript
2014-02-14 11:32 672当前在互联网上, ... -
设置双核浏览器的浏览模式
2014-01-20 15:44 719如果访问的页面中有 CSS3 代码,双核浏览器会自动切换到 ... -
使用console.table()调试javascript
2014-01-20 15:42 691或许你已经习惯了console.log()来调试js,非常好 ... -
iOS下无法正常渲染按钮的问题
2014-01-20 15:40 745最近做移动端的页面,碰到了一个问题,就是css无法定义按钮样 ...
相关推荐
HTML5引入了两种新的本地存储机制——`localStorage`和`sessionStorage`,它们为Web应用提供了更大的存储空间,并且数据只存在于用户本地浏览器中,不会随着HTTP请求发送到服务器,从而提高了应用性能和安全性。...
总结来说,这个"网页留言板[HTML5]"项目涵盖了HTML5的基础语法和新特性,如语义化标签、增强的表单控件以及本地存储。同时,结合ASP技术,展示了前后端交互的基本流程。对于网页开发新手来说,这是一个很好的学习和...
在这个“数组_本地留言板_H5数组例题_数组练习_”的主题中,我们将深入探讨数组的概念、H5(HTML5)中的数组应用以及相关的练习题。 首先,我们来看数组的基本概念。数组是编程语言中的一种数据结构,它由固定数量...
运用本地存储技术实现留言。实现留言,删除留言,等功能。有时间记录,可以作为自己的一个小便签非常方便。
1. **数据存储**:留言板上的所有留言需要被存储以便后续查看。这通常通过数据库实现,如MySQL或SQLite。每个留言记录应包含发帖人、时间戳、内容等信息。 2. **前端界面**:用户通过网页与留言板交互。这个界面...
标题 "dreamweaver留言板源代码" 提供了一个关键线索,即这个程序是使用Adobe Dreamweaver这个集成开发环境(IDE)创建的。Dreamweaver是一款广泛使用的工具,它支持多种编程语言,包括HTML、CSS、JavaScript以及...
HTML静态网页留言板ASP自动代码, 解压到你的网站根目录即可guestbook/index.html 本程序是html显示,提交,实现了很多人想要的“html留言板” 本程序没有做登陆验证,请用户自己添加
在提供的文件列表中,“留言板”可能是包含ASP和HTML代码的文件,包含了留言板的完整实现。这个文件可能包括HTML结构、ASP代码段以及内联或外部引用的JavaScript代码。通过查看和分析这个文件,我们可以更深入地了解...
然而,实际的留言板应用通常会使用数据库(如MySQL)来存储和管理数据,提供更高效、安全和可扩展的解决方案。 在实践中,你可能还需要考虑一些其他因素,如错误处理、数据校验、安全性(如XSS和CSRF防护)以及用户...
8. **API调用**:如果留言板需要保存和加载数据,可能需要用到微信提供的API,如`wx.request()`进行网络请求,将数据存储到服务器,或者`wx.getStorageSync()`和`wx.setStorageSync()`用于本地存储。 9. **生命周期...
- 数据持久化:使用本地存储或后端数据库保存留言。 - 用户验证:添加登录注册功能,确保只有已登录用户才能留言。 - 表单验证:使用AngularJS的内置验证机制,确保输入有效。 - 美化界面:利用CSS和Bootstrap等库...
【Dreamweaver 留言板代码】是一个关于使用Adobe Dreamweaver MX创建网页互动功能的教程,主要涉及如何在本地环境中建立站点并创建简单的网页。Dreamweaver是一款流行的网页设计和开发工具,提供了多种工作区布局以...
在本文中,我们将深入探讨20种ASP留言板代码的实现方式,这些代码通常涉及HTML、VBScript和ASP语法,用于实现用户互动、信息存储等功能。 1. **基础结构**:ASP文件通常由HTML标签和ASP脚本段落组成,脚本段落在`...
7. **文件上传**:如果留言板支持图片或文件上传,那么需要处理文件I/O和上传逻辑,可能使用了Servlet的`Part`接口以及文件存储策略,如存储在本地文件系统、云存储服务或数据库BLOB字段中。 8. **错误和异常处理**...
【标题】:“jsp 留言板”是一个基于Java服务器页面技术(JSP)开发的交互式应用,专为用户...发布项目时,Eclipse可以将编译后的文件部署到本地或远程服务器,使得其他人可以通过Web浏览器访问并使用这个留言板应用。
在实现班级留言板时,通常会用到数据库如Access或SQL Server来存储留言信息。ASP可以使用ADO(ActiveX Data Objects)组件与数据库进行交互,包括打开数据库连接、执行SQL语句(如INSERT, SELECT, UPDATE, DELETE)...
9. **国际化与本地化**:考虑到多语言用户,留言板可能支持多语言设置,通过语言包实现内容的本地化。 10. **错误处理与日志记录**:良好的错误处理机制可以帮助开发者快速定位和解决问题,同时记录日志便于后期...
1. "留言本(jsp+JavaBean+Servlet).exe":这可能是一个安装程序,用于在本地环境中设置和运行留言板应用。它可能包含了所有必要的JSP文件、JavaBean类和Servlet配置。 2. "message.sql":这是一个SQL脚本文件,用于...
考虑到文件名为“相当很简易的留言板”,这可能是一个静态文件,包含了HTML、CSS和JavaScript代码,没有后端服务器支持,通过本地存储或者cookies模拟登录状态和数据保存。 在安全性方面,由于涉及用户信息,必须...
这个项目的核心目标是创建一个简单的留言板,用户可以在上面留下信息,且这些信息能够在用户下次访问时仍然存在,无需服务器端的支持进行持久化。 在HTML5中,Web Storage分为两种类型:localStorage和...