JavaScript仿静态分页实现方法


Posted in Javascript onAugust 04, 2015

本文实例讲述了JavaScript仿静态分页实现方法。分享给大家供大家参考。具体如下:

这里基于JavaScript模仿网页不刷新静态分页的功能,实际用的时候估计要做些改动,因为目前需要分页的内容是作为一个字符串变量存在JS里,使用时这里的数据要变为数据库中读取的数据,不知道它的实用性有多高,需要的朋友慢慢调整一下。

运行效果如下图所示:

JavaScript仿静态分页实现方法

具体代码如下:

<HTML>
<HEAD>
<TITLE> 静态分页</TITLE>
<style>
* {
font-size:10.2pt;
font-family:tahoma;
line-height:150%;
}
.divContent
{
border:1px solid red;
background-color:#FFD2D3;
width:500px;
word-break:break-all;
margin:10px 0px 10px;
padding:10px;
}
</style>
</HEAD>
<BODY>
header
<div id="divPagenation"></div>
<div id="divContent"></div>
footer
<SCRIPT LANGUAGE="JavaScript">
<!--
s="<p>jquery SimpleModal Ajax弹出对话框插件,拥有简洁风格的网页弹出层插件,风格设计比较简约大方,可弹出图片、弹出含有HTML代码的div对话框等,类似的效果已有很多,请根据自己的需要采用吧。。jquery SimpleModal Ajax弹出对话框插件,拥有简洁风格的网页弹出层插件,风格设计比较简约大方,可弹出图片、弹出含有HTML代码的div对话框等,类似的效果已有很多,请根据自己的需要采用吧。</p>";
function DHTMLpagenation(content) { with (this)
{
this.content=content;
this.contentLength=content.length;
this.pageSizeCount;
this.perpageLength=100;
this.currentPage=1;
this.regularExp=/\d+/;
this.divDisplayContent;
this.contentStyle=null;
this.strDisplayContent="";
this.divDisplayPagenation;
this.strDisplayPagenation="";
arguments.length==2?perpageLength=arguments[1]:'';
try {
divExecuteTime=document.createElement("DIV");
document.body.appendChild(divExecuteTime);
}
catch(e)
{
}
if(document.getElementById("divContent"))
{
divDisplayContent=document.getElementById("divContent");
}
else
{
try
{
divDisplayContent=document.createElement("DIV");
divDisplayContent.id="divContent";
document.body.appendChild(divDisplayContent);
}
catch(e)
{
return false;
}
}
if(document.getElementById("divPagenation"))
{
divDisplayPagenation=document.getElementById("divPagenation");
}
else
{
try
{
divDisplayPagenation=document.createElement("DIV");
divDisplayPagenation.id="divPagenation";
document.body.appendChild(divDisplayPagenation);
}
catch(e)
{
return false;
}
}
DHTMLpagenation.initialize();
return this;
}};
DHTMLpagenation.initialize=function() { with (this)
{
divDisplayContent.className=contentStyle!=null?contentStyle:"divContent";
if(contentLength<=perpageLength)
{
strDisplayContent=content;
divDisplayContent.innerHTML=strDisplayContent;
return null;
}
pageSizeCount=Math.ceil((contentLength/perpageLength));
DHTMLpagenation.goto(currentPage);
DHTMLpagenation.displayContent();
}};
DHTMLpagenation.displayPage=function() { with (this)
{
strDisplayPagenation="分页:";
if(currentPage&¤tPage!=1)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.previous()">上一页</a>  ';
else
strDisplayPagenation+="上一页  ";
for(var i=1;i<=pageSizeCount;i++)
{
if(i!=currentPage)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.goto('+i+');">'+i+'</a>  ';
else
strDisplayPagenation+=i+"  ";
}
if(currentPage&¤tPage!=pageSizeCount)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.next()">下一页</a>  ';
else
strDisplayPagenation+="下一页  ";
strDisplayPagenation+="共 " + pageSizeCount + " 页,每页" + perpageLength + " 字符,调整字符数:<input type='text' value='"+perpageLength+"' id='ctlPerpageLength'><input type='button' value='确定' onclick='DHTMLpagenation.change(document.getElementById(\"ctlPerpageLength\").value);'>";
divDisplayPagenation.innerHTML=strDisplayPagenation;
}};
DHTMLpagenation.previous=function() { with(this)
{
DHTMLpagenation.goto(currentPage-1);
}};
DHTMLpagenation.next=function() { with(this)
{
DHTMLpagenation.goto(currentPage+1);
}};
DHTMLpagenation.goto=function(iCurrentPage) { with (this)
{
startime=new Date();
if(regularExp.test(iCurrentPage))
{
currentPage=iCurrentPage;
strDisplayContent=content.substr((currentPage-1)*perpageLength,perpageLength);
}
else
{
alert("page parameter error!");
}
DHTMLpagenation.displayPage();
DHTMLpagenation.displayContent();
}};
DHTMLpagenation.displayContent=function() { with (this)
{
divDisplayContent.innerHTML=strDisplayContent;
}};
DHTMLpagenation.change=function(iPerpageLength) { with(this)
{
if(regularExp.test(iPerpageLength))
{
DHTMLpagenation.perpageLength=iPerpageLength;
DHTMLpagenation.currentPage=1;
DHTMLpagenation.initialize();
}
else
{
alert("请输入数字");
}
}};
DHTMLpagenation(s,100);
//-->
</SCRIPT>
</BODY>
</HTML>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JQuery文本框高亮显示插件代码
Apr 02 Javascript
js实现从中间开始往上下展开网页窗口的方法
Mar 02 Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
jQuery实现获取table表格第一列值的方法
Mar 01 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
vscode 开发Vue项目的方法步骤
Nov 25 Javascript
vue实现分页组件
Jun 16 Javascript
Node 代理访问的实现
Sep 19 Javascript
Vue实现移动端拖拽交换位置
Jul 29 Javascript
JavaScript中document.activeELement焦点元素介绍
Nov 27 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 #Javascript
Javascript实现可旋转的圆圈实例代码
Aug 04 #Javascript
JavaScript数组各种常见用法实例分析
Aug 04 #Javascript
基于Jquery实现表单验证
Jul 20 #Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 #Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 #Javascript
javascript控制图片播放的实现代码
Jul 29 #Javascript
You might like
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
python 实现判断ip连通性的方法总结
2018/04/22 Python
Python字符串的一些操作方法总结
2019/06/10 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
《欢乐的泼水节》教学反思
2014/04/22 职场文书
酒店节能降耗方案
2014/05/08 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
天那边观后感
2015/06/09 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP