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 相关文章推荐
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
JavaScript验证图片类型(扩展名)的函数分享
May 05 Javascript
JavaScript 封装一个tab效果源码分享
Sep 15 Javascript
jQuery设置Cookie及删除Cookie实例分析
Apr 15 Javascript
AngularJS控制器之间的数据共享及通信详解
Aug 01 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
AngularJS动态菜单操作指令
Apr 25 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
小程序实现投票进度条
Nov 20 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
vue.config.js中配置Vue的路径别名的方法
Feb 11 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
php上传文件的增强函数
2010/07/21 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
ASP Json Parser修正版
2009/12/06 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
详解使用Python处理文件目录的相关方法
2015/10/16 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
一些Solaris面试题
2015/12/22 面试题
教师评优的个人自我评价分享
2013/09/19 职场文书
大学生党课思想汇报
2013/12/29 职场文书
大学生自我评价范文分享
2014/02/21 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
食品销售计划书
2014/04/26 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers