[JS源码]超长文章自动分页(客户端版)

时间:2021-05-28

复制代码 代码如下:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<TITLE>NewDocument</TITLE>
<METANAME="Generator"CONTENT="EditPlus">
<METANAME="Author"CONTENT="">
<METANAME="Keywords"CONTENT="">
<METANAME="Description"CONTENT="">
<style>
*{
font-size:10.2pt;
font-family:tahoma;
line-height:150%;
}
.divContent
{
border:1pxsolidred;
background-color:#FFD2D3;
width:500px;
word-break:break-all;
margin:10px0px10px;
padding:10px;
}
</style>
</HEAD>
<BODY>
header
<divid="divPagenation"></div>
<divid="divContent"></div>
footer
<SCRIPTLANGUAGE="JavaScript">
<!--
s="<p>女老师竭力向孩子们证明,学习好功课的重要性。</p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。”</p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。”</p><p>女老师竭力向孩子们证明,学习好功课的重要性。</p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。”</p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。”</p><p>女老师竭力向孩子们证明,学习好功课的重要性。</p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。”</p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。”</p><p>女老师竭力向孩子们证明,学习好功课的重要性。</p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。”</p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。”</p><p>女老师竭力向孩子们证明,学习好功课的重要性。</p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。”</p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。”</p>";

//封装DHTMLpagenation

functionDHTMLpagenation(content){with(this)
{
//clientstatichtmlfilepagenation
//ScipitbyblueDestiny,never-online,www.never-online.net

this.content=content;//内容
this.contentLength=content.length;//内容长度
this.pageSizeCount;//总页数
this.perpageLength=100;//defaultperpagebytelength.
this.currentPage=1;//起始页为第1页
//this.regularExp=/.+[\?\&]{1}page=(\d+)/;
this.regularExp=/\d+/;//建立正则表达式,匹配数字型字符串。

this.divDisplayContent;
this.contentStyle=null;
this.strDisplayContent="";
this.divDisplayPagenation;
this.strDisplayPagenation="";

//把第二个参数赋给perpageLength;
arguments.length==2?perpageLength=arguments[1]:'';

try{
divExecuteTime=document.createElement("DIV");
document.body.appendChild(divExecuteTime);
}
catch(e)
{
}

//得到divPagenation容器。
if(document.getElementById("divPagenation"))
{
divDisplayPagenation=document.getElementById("divPagenation");
}
else
{
try
{
divDisplayPagenation=document.createElement("DIV");
divDisplayPagenation.id="divPagenation";
document.body.appendChild(divDisplayPagenation);
}
catch(e)
{
returnfalse;
}
}

//得到divContent容器
if(document.getElementById("divContent"))
{
divDisplayContent=document.getElementById("divContent");
}
else
{
try
{
divDisplayContent=document.createElement("DIV");
divDisplayContent.id="divContent";
document.body.appendChild(divDisplayContent);
}
catch(e)
{
returnfalse;
}
}

DHTMLpagenation.initialize();
returnthis;

}};

//初始化分页;
//包括把加入CSS,检查是否需要分页
DHTMLpagenation.initialize=function(){with(this)
{
divDisplayContent.className=contentStyle!=null?contentStyle:"divContent";
if(contentLength<=perpageLength)
{
strDisplayContent=content;
divDisplayContent.innerHTML=strDisplayContent;
returnnull;
}

pageSizeCount=Math.ceil((contentLength/perpageLength));

DHTMLpagenation.goto(currentPage);
DHTMLpagenation.displayContent();
}};

//显示分页栏
DHTMLpagenation.displayPage=function(){with(this)
{
strDisplayPagenation="分页:";

if(currentPage&&currentPage!=1)
strDisplayPagenation+='<ahref="javascript:void(0)"onclick="DHTMLpagenation.previous()">上一页</a>&nbsp;&nbsp;';
else
strDisplayPagenation+="上一页&nbsp;&nbsp;";

for(vari=1;i<=pageSizeCount;i++)
{
if(i!=currentPage)
strDisplayPagenation+='<ahref="javascript:void(0)"onclick="DHTMLpagenation.goto('+i+');">'+i+'</a>&nbsp;&nbsp;';
else
strDisplayPagenation+=i+"&nbsp;&nbsp;";
}

if(currentPage&&currentPage!=pageSizeCount)
strDisplayPagenation+='<ahref="javascript:void(0)"onclick="DHTMLpagenation.next()">下一页</a>&nbsp;&nbsp;';
else
strDisplayPagenation+="下一页&nbsp;&nbsp;";

strDisplayPagenation+="共"+pageSizeCount+"页,每页"+perpageLength+"字符,调整字符数:<inputtype='text'value='"+perpageLength+"'id='ctlPerpageLength'><inputtype='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=newDate();
if(regularExp.test(iCurrentPage))
{
currentPage=iCurrentPage;
strDisplayContent=content.substr((currentPage-1)*perpageLength,perpageLength);
}
else
{
alert("pageparametererror!");
}
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("请输入数字");
}
}};

//接口API
//DHTMLpagenation(strContent[,perpageLength])

DHTMLpagenation(s,100);

//PowerByblueDestiny,never-online
//-->
</SCRIPT>
</BODY>
</HTML>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章