JavaScript仿静态分页实现方法

 更新时间:2015年08月04日 13:32:26   作者:皮蛋  
这篇文章主要介绍了JavaScript仿静态分页实现方法,可实现模拟静态效果的分页功能,并且可以控制分页的字符数,使用时可根据情况进行相应的字段修改即可,非常灵活实用,需要的朋友可以参考下

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

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

运行效果如下图所示:

具体代码如下:

<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&&currentPage!=1)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.previous()">上一页</a>&nbsp;&nbsp;';
else
strDisplayPagenation+="上一页&nbsp;&nbsp;";
for(var i=1;i<=pageSizeCount;i++)
{
if(i!=currentPage)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.goto('+i+');">'+i+'</a>&nbsp;&nbsp;';
else
strDisplayPagenation+=i+"&nbsp;&nbsp;";
}
if(currentPage&&currentPage!=pageSizeCount)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.next()">下一页</a>&nbsp;&nbsp;';
else
strDisplayPagenation+="下一页&nbsp;&nbsp;";
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程序设计有所帮助。

相关文章

  • Web Woker使用常见问题汇总及方案解决分析

    Web Woker使用常见问题汇总及方案解决分析

    这篇文章主要为大家介绍了Web Woker常见使用问题及方案解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • javascript制作的滑动图片菜单

    javascript制作的滑动图片菜单

    本文给大家分享的是一款javascript制作的很漂亮的js滑动导航菜单,鼠标经过立即快速滑动切换显示。有需要的小火把可以参考下。
    2015-05-05
  • 高性能JavaScript 重排与重绘(2)

    高性能JavaScript 重排与重绘(2)

    这篇文章主要介绍了高性能JavaScript 重排与重绘,需要的朋友可以参考下
    2015-08-08
  • JS实现逐页将PDF文件转为图片格式

    JS实现逐页将PDF文件转为图片格式

    这篇文章主要为大家分享了如何通过前端js将pdf文件转为图片格式,并且支持翻页预览、以及图片打包下载,文中的示例代码简洁易懂,需要的可以参考一下
    2023-05-05
  • BootStrap中的Fontawesome 图标

    BootStrap中的Fontawesome 图标

    这篇文章主要介绍了BootStrap中Fontawesome 图标的相关知识,需要的朋友可以参考下
    2017-05-05
  • js语法学习之判断一个对象是否为数组

    js语法学习之判断一个对象是否为数组

    这篇文章主要介绍了从javascript判断一个对象是否为数组中学习js语法,需要的朋友可以参考下
    2014-05-05
  • js变量值传到php过程详解 将php解析成数据

    js变量值传到php过程详解 将php解析成数据

    这篇文章主要介绍了js变量值传到php过程详解 将php解析成数据,传参数去后台,用ajax,或者原生js方式拼接url。明白原理,洞悉系统是先解析php,再执行html代码和js代码。,需要的朋友可以参考下
    2019-06-06
  • JSONP原理及简单实现

    JSONP原理及简单实现

    这篇文章主要介绍了JSONP原理及简单实现的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • 一文看懂JSONP原理和应用

    一文看懂JSONP原理和应用

    这篇文章主要介绍了一文看懂JSONP原理和应用,对JSONP感兴趣的同学,可以参考下
    2021-04-04
  • js实现的简单radio背景颜色选择器代码

    js实现的简单radio背景颜色选择器代码

    这篇文章主要介绍了js实现的简单radio背景颜色选择器代码,利用鼠标事件及页面元素动态操作实现页面背景颜色的改变功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08

最新评论