[JS源碼]超長文章自動分頁(客戶端版)
更新時間:2007年01月09日 00:00:00 作者:
復制代碼 代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<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>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p>";
// 封裝DHTMLpagenation
function DHTMLpagenation(content) { with (this)
{
// client static html file pagenation
// Scipit by blueDestiny,never-online, www.never-online.net
this.content=content; // 內容
this.contentLength=content.length; // 內容長度
this.pageSizeCount; // 總頁數
this.perpageLength=100; //default perpage byte length.
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)
{
return false;
}
}
// 得到divContent容器
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;
}
}
DHTMLpagenation.initialize();
return this;
}};
//初始化分頁;
//包括把加入CSS,檢查是否需要分頁
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;
}};
//改變每頁的字節(jié)數
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);
// Power By blueDestiny,never-online
//-->
</SCRIPT>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<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>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p><p>女老師竭力向孩子們證明,學習好功課的重要性。 </p><p>她說:“牛頓坐在樹下,眼睛盯著樹在思考,這時,有一個蘋果落在他的頭上,于是他發(fā)現了萬有引力定律,孩子們,你們想想看,做一位偉大的科學家多么好,多么神氣啊,要想做到這一點,就必須好好學習?!?nbsp;</p><p>“班上一個調皮鬼對此并不滿意。他說:“興許是這樣,可是,假如他坐在學校里,埋頭書本,那他就什么也發(fā)現不了啦?!?nbsp;</p>";
// 封裝DHTMLpagenation
function DHTMLpagenation(content) { with (this)
{
// client static html file pagenation
// Scipit by blueDestiny,never-online, www.never-online.net
this.content=content; // 內容
this.contentLength=content.length; // 內容長度
this.pageSizeCount; // 總頁數
this.perpageLength=100; //default perpage byte length.
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)
{
return false;
}
}
// 得到divContent容器
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;
}
}
DHTMLpagenation.initialize();
return this;
}};
//初始化分頁;
//包括把加入CSS,檢查是否需要分頁
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;
}};
//改變每頁的字節(jié)數
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);
// Power By blueDestiny,never-online
//-->
</SCRIPT>
</BODY>
</HTML>
相關文章
JavaScript引擎實現async/await的方法實例
大家應該都知道隨著Node 7的發(fā)布,越來越多的人開始研究據說是異步編程終級解決方案的async/await,下面這篇文章主要給大家介紹了關于JavaScript引擎是如何實現async/await的相關資料,需要的朋友可以參考下2022-03-03
javascript移動設備Web開發(fā)中對touch事件的封裝實例
這篇文章主要介紹了javascript移動設備Web開發(fā)中對touch事件的封裝實例,分別對tap事件、doubleTap事件、longTap事件、swipe事件做了封裝,需要的朋友可以參考下2014-06-06

