假如这个世界上只剩下你一个人,当你正坐在屋子里的时候,这时突然响起了敲门声...
用javascript实现较为通用的客户端分页组件
查看( 22 ) /
评论( 0 )
1、测试页面
+UQ#u6o7H!D}0 <html>ITPUB个人空间(e;Lwol5V!\g
<head>
$FyO9xU*j0 <script src="pageSystem.js"></script>ITPUB个人空间2@F o9UZE[
<script>ITPUB个人空间-~En I~|
var psys;ITPUB个人空间E:m2n4?3f M{ |
window.onload = function() {ITPUB个人空间-]~L;U3P+tr sv
psys = new PageSystem(1120, "pageDiv", 10, showMsg); //总记录数, 分页系统容器,每组10页,回调ITPUB个人空间Y,[+Y)F$mhfZ"R4I
psys.init();ITPUB个人空间8EOb4kr/[W,U
}
8pywV3FOrk([ Qm:K0 ITPUB个人空间b-]&bTh1p1V h&E(G9PC
function showMsg(currentPage, pageSize) {
pkKoZ(\@OZ0 //回调方法自定义,两个参数,第一个为当前页,第二个为每页记录数
5Am;Ol9p*R0 /****************将currentPage和pageSize请求数据更新列表,最好使用ajax技术******************/ITPUB个人空间#@F9Y8@$s0k'O
alert("请求数据要的相应参数>> currentPage: "+ currentPage + " pageSize: " + pageSize);
rn|p v7I:j%}"Y4ss0 }ITPUB个人空间9Pp"{Jz
ITPUB个人空间1Y2e|S*g v3g
/*****如果要更新分页系统请如下操作******/ITPUB个人空间1D5a/jj~ b
//psys.update(count); //@count 为记录总数ITPUB个人空间 W _L-H_0C$s
function updatePageSys() {ITPUB个人空间/D2IM w K
)bSRPU8H0 psys.update(150); //@count 为记录总数ITPUB个人空间l4t.T i.oP
}
)Xg;\E5S3t!eK7}4m-m0 </script>ITPUB个人空间L5z e:X6?-GJ!G},{
<style>ITPUB个人空间t3^{+I;h ?\mp g
#pageDiv{ITPUB个人空间vEY4\5Lt!d ` Nm
font-size:13px;
B0re)G5k?0 }
?@-qzt4k0 </style>ITPUB个人空间s4hRWznYo
</head>ITPUB个人空间g1s7Eh)_^w2WZ!U
<body>
FTP e!]mO0 <div id="pageDiv">ITPUB个人空间gI wE}!X!Kh)J
</div>
p@`HU%QS0 <br/><br/>ITPUB个人空间 \WDSLL'U
<a href="#" onclick="updatePageSys();"/>更新分页系统</a>ITPUB个人空间q|/\%e?2?)E9\"kim
</body>ITPUB个人空间$hc5MJY$zr[7W
</html>ITPUB个人空间Xjx7b7V V&W
z/D)l&l:Dy-ec0 2、pageSystem.jsITPUB个人空间LrT\Z@0Eq
function PageSystem(count, divID, grountCount, callBack) {
*Es^JOL'Sm0 this.totolCount = count; //总记录数
`6BxuY&C0 this.initMaxPage = grountCount? grountCount: 5; //显示页数,如 1 2 3 4 5
}X Om!`*F%h0 this.pageSize = 10; //每页记录数
:TP_%uD-I hd O%b`0 this.currentMax = 0; //当前显示的最大页码, 如 1 2 3 4 5; 5为最大页码ITPUB个人空间}hKi&aW
this.currentMin = 0; //当前显示的最小页码, 如 11 12 13 14 15; 11为最小页码
3m'xI"v[i0 this.homePage = 0; //首页ITPUB个人空间+r$aIyLD4mo1t
this.endPage = 0; //未页ITPUB个人空间*\Ema$](V-A
this.currentPage = 0; //当前页ITPUB个人空间]5h/IZm,O2`
this.currentActiveSpan; //当前活动a容器ITPUB个人空间OS!\8A(SiC
this.pageDivObj = document.getElementById(divID); //分页系统容器ITPUB个人空间d8Yo"BL&k-@l
this.pages = 0; //总页数,计算得到
^'o&Y:T2K&lTk0 //this._url = _url; //提交URL
{J)\cTGY0 this.callBack = callBack; //回调ITPUB个人空间"T*m+LS\I
var that = this; //指针的引用ITPUB个人空间 i5X1t#_/lY |9e+LL
ITPUB个人空间JN;a;G~1dA%Un
Ys%jdf5y0 this.init = function() {
F1aO+{e%uA0 this.pages = parseInt(this.totolCount / this.pageSize); //获得总共有几页
6|c$ug7w |7a&L!k0 this.pages = this.totolCount % this.pageSize == 0? this.pages: this.pages+1;
;Q0q6FgC n,C0 this.createHomePage();
$e3wm^;B}9?0 this.createPrePage();ITPUB个人空间PB{4h"Ipgl;T
var n = 1;
h.DK+p(E/Px0 while(n <= this.pages) {
P)_.U'j P D0 if(n > this.initMaxPage){ITPUB个人空间Z|*KM?KWy5S3AU
break; //到达最大显示数ITPUB个人空间$fM$Z }~4U3H
}
$L$u&Z6W0A4p|0 var _span = document.createElement("SPAN");ITPUB个人空间.~9dbJR
_span.style.cssText = "margin-left:10px";ITPUB个人空间 d8LFqwz
if(n == 1) { //初始化时第一页为活动页
8gk|*BakGE0 _span.innerText = n;
)V0\!Qn-k&@"X"AY p nP0 this.currentActiveSpan = _span;
V#L;ImuB)x0 }else{
r:qEL3a c0 var _a = document.createElement("A");ITPUB个人空间-\9yqp%Mzu
_a.href = "#";ITPUB个人空间MbApj{'nn
_a.onclick = this.reView;
*e+w8E5R5poKWv6Jx0 _a.innerText = n;ITPUB个人空间B JI Xy8Hl$AM
_span.appendChild(_a);
E~["mH$p}0 }ITPUB个人空间gLh$q/SV jEaD|j
this.pageDivObj.appendChild(_span);
okd+?)nv8e(Jj0 n++;
)hRv^8N0 }ITPUB个人空间^0C4RVjpm7hFqA7\
if(this.pages != 0) {
MC:c4~kC't[}0 this.currentMax = n - 1; //当前组最大页码 1 2 3 4 5值为5ITPUB个人空间.Q0@ B7gB@
this.currentMin = 1; //当前最小页码 1 2 3 4 5 值为1
c)F#c:KM0 this.homePage = 1; //首页
{AvVm0 this.endPage = this.pages; //未页
-JAR{Hd0 this.currentPage = 1; //当前页ITPUB个人空间[aq(VV
}
)I*lr{ KQ.h6cw0 //alert(this.currentMax);ITPUB个人空间[*_7IeJ^+O+F UX M
//alert(this.currentMin);ITPUB个人空间 H!g#~F5Q*j
this.createNextPage();
)MD*{Y*[ P0 this.createEndPage();ITPUB个人空间*AY,dPwn{
ITPUB个人空间 W W(O?oE
ITPUB个人空间o#zn)Afes
ITPUB个人空间e2m-c(z YQw?.H&V:p
};ITPUB个人空间yYr4]1_8}
this.query = function() {ITPUB个人空间M,b^K1g:KY
var curPage = that.currentPage; //当前页
V6_~3u[yDq;{ y0 var pageSize = that.pageSize;ITPUB个人空间DM`8qH3[%W!?KG2T
if(that.callBack) that.callBack(curPage, pageSize);ITPUB个人空间w(K c;i-u
ITPUB个人空间U\6U9Q_.DE
};
GI.DU/Z U(C0 this.reView = function() {ITPUB个人空间[9WT,o%@gE#G
//重新渲染UIITPUB个人空间)o"p(Xcu(d
that.reViewActivePage();ITPUB个人空间?0xIl&xS5y$S
that.query();ITPUB个人空间1u;C#p;jRT,C&Ba9Tt
};ITPUB个人空间W[ V+Zw7P't
this.reViewActivePage = function() {ITPUB个人空间5@C6u{_]y
//重新渲染当前页视图
(D Ntu#n,`0 var actA = event.srcElement; //当前被点击的 a对象
D'kFz,?)R-\A/A0 var ap = actA.parentNode; //获得当前a容器span对象
c9n U|zVR6g3^3sY0 //还原当前页视图ITPUB个人空间mr)N/ZoE
var _a = document.createElement("A");
-qO3CH ?"X:W0 _a.href = "#";ITPUB个人空间c9i"[U\%xg3tv
_a.onclick = this.reView;ITPUB个人空间#tu1Bc$gG
_a.innerText = that.currentActiveSpan.innerText;
i&jS:w.X!y6Z0 that.currentActiveSpan.innerText = "";
4mz9`8_!p-{"Q/N-j+g+j0 that.currentActiveSpan.appendChild(_a);ITPUB个人空间S7J:A#MPn
//渲染新的当前页视图
p1DU:c}(zq0 that.currentActiveSpan = ap; //切换当前活动页容器
t]:}O~k!}0 var curPage = parseInt(actA.innerText);
:m ^ [2al0 that.currentActiveSpan.removeChild(actA);
O S&Y%UG8VcA Z*t h5L'|0 that.currentActiveSpan.innerText = curPage;
:q{h0k"z'WzDN0 this.currentPage = curPage; //更改当前页码
']N J-og;c,vp}0 if(!that.toNextGroup()) that.toPreGroup();ITPUB个人空间uLVK] u7eR
};
zhen![/u${*o0 this.toNextGroup = function() {
;F_~dQP1n0 //重新渲染显示页下一组 1 2 3 4 5 --> 5 6 7 8 9
pMH/T"q(RN,ik0 if(that.currentPage == that.currentMax) {//点击的页码为当前组最大页码,当go 下一组
:U5o(LA|I1L0 if(that.currentPage != that.endPage) { //如果点了未页当然不会再有下一组啦!ITPUB个人空间0L%C0V4yQ?1I N
that.pageDivObj.innerHTML = ""; //@1
?iz%d;dUa0R0 var pageCode = parseInt(that.currentPage) + 1; //显示页码
#Frzebels0 var n = 2; //当前活动页不重创ITPUB个人空间lN{"wv7rev6iM
this.createHomePage();ITPUB个人空间*clc9p4gpw
this.createPrePage();ITPUB个人空间*@q`!wt,W
that.currentActiveSpan.innerText = that.currentPage;ITPUB个人空间rNLHgAD b4G8K
that.pageDivObj.appendChild(that.currentActiveSpan); //将当前活动页回放,请看@1
KP Ri[OQ0 while(pageCode <= that.pages) {ITPUB个人空间u0~'@(dF/LY
if(n > that.initMaxPage){
+l J9L%b"WO'kZ0 break; //到达最大显示数
$sNJ7~['U1Jd WUx0 }
3K6F&`V-^~.k(a0 var _span = document.createElement("SPAN");ITPUB个人空间;L(tA'}D'n;@KH#v
_span.style.cssText = "margin-left:10px";ITPUB个人空间w2|^F{$X4[(fu
var _a = document.createElement("A");ITPUB个人空间@ `6n7U"Eb)y K
_a.href = "#";ITPUB个人空间#|t A;B)ED#o
_a.onclick = that.reView;ITPUB个人空间 QL]]Nd9V ^o
_a.innerText = pageCode;ITPUB个人空间[9oe6|4T
_span.appendChild(_a);
l#?_*X AB)E0 that.pageDivObj.appendChild(_span);
C;M_-O1C?I)S'x,R0 pageCode++;
#q0@a |L%u0 n++;ITPUB个人空间E9S&q5gE
}ITPUB个人空间K%S vS-YV;a,F3`+B"i
that.currentMax = pageCode - 1;
U]j,yr m0 that.currentMin = that.currentPage;ITPUB个人空间za} J^S{1e;]7ZE
// alert("currentMax: " + that.currentMax);ITPUB个人空间/x2f$|FS4S
// alert("currentMin: " + that.currentMin);ITPUB个人空间%m0Ai!jT@[
this.createNextPage();
5N4}H |O6k0 that.createEndPage();
/qD5d:D3N0 return true;
OR}gy hE0 }//end if
E0Wp-qKz,v6SV0 }//end if
Y:|k.K/m0 return false;
g,E4rIdAW6DXo/{0 };ITPUB个人空间c*] x]Y9M t;v
this.toPreGroup = function() { //ITPUB个人空间7nE2pZ7B+w$}
//重新渲染显示页上一组 5 6 7 8 9 -->1 2 3 4 5ITPUB个人空间#rPB v,@%P7H
if(that.currentPage == that.currentMin) { //点了组中最小页码ITPUB个人空间hi(io'd-P:J Z$tdD8f
if(that.currentPage != 1) {
:BQ \J q"@0 that.pageDivObj.innerHTML = ""; //@2ITPUB个人空间rbb9Wv5_(Th9o3b^:A*A f
var pageCode = parseInt(that.currentPage) - (that.initMaxPage -1); //显示页码ITPUB个人空间ykN'f#`{woUN
var n = 2; //当前活动页不重创ITPUB个人空间4fs8h-Y d
this.createHomePage();
S"?+C%[:fP`&i0 this.createPrePage();ITPUB个人空间$C zj1IHg0{o
while(true) {
DeU [ sn [0 if(n > that.initMaxPage){
-dj aM.t/M0 break; //到达最大显示数
i{ vf,T:C1I\H0 }
N5jy6mZik@4S6D,~0 var _span = document.createElement("SPAN");ITPUB个人空间cb2n.I(J-FZ:hW
_span.style.cssText = "margin-left:10px";
+D.r8u(v[}p0 var _a = document.createElement("A");ITPUB个人空间%C7E,W4^#{_
_a.href = "#";
@&t!?Y1S"rv|{4t0 _a.onclick = that.reView;
l#THX^-J L4VQ0 _a.innerText = pageCode++;ITPUB个人空间VLK3q+a,`6H
_span.appendChild(_a);
,\8wF7M!? [6J0 that.pageDivObj.appendChild(_span);
S`3d^n?7^h0 n++;ITPUB个人空间"~Y![^*wH
}
P IQeq)] e m0 that.currentMax = that.currentPage;
O'B:[`q0 that.currentMin = pageCode - (that.initMaxPage -1);ITPUB个人空间-~JV J9M
//alert("currentMax: " + that.currentMax);
6[0z%{9W'p#y0 // alert("currentMin" + that.currentMin);
!~)?n4k/l0 that.currentActiveSpan.innerText = that.currentPage;
^:q-q#]|/V-\h0 that.pageDivObj.appendChild(that.currentActiveSpan); //将当前活动页回放,请看@2ITPUB个人空间1v?"f\7h%H4|zX Y2o
that.createNextPage();
R4K P[{ \fAd9Z*Ld0 that.createEndPage();ITPUB个人空间C7O FU;C3Re
}//end ifITPUB个人空间_9w'\#Hpj
}//end ifITPUB个人空间,I tNo2j)g2k @[
};
YKtx@1MW{0e!^0 this.toHomePage = function(){
f MR/J5`d0 //去到首页
z9_&}Q9}2NS Vn P8s]0 if(that.pages == 0) return;ITPUB个人空间BP)i!hf8o|
if(that.currentPage != 1) {//切组ITPUB个人空间8[:j5|vX w^ D1@0L
that.pageDivObj.innerHTML = "";
0b)W:ki&W)@3u0 that.init();
o_)qfmsP0 }//end ifITPUB个人空间oC$zTk/N:V1o
that.currentPage = 1;
] a0M ~bq3H{0 that.currentMin = 1;
P3M)}]zy_0 that.currentMax = that.initMaxPage;ITPUB个人空间n5G3z&f"^1W
that.query();ITPUB个人空间S9A#iPHEc~8H[
};
w[j-{ a,]Y v0 this.toEndPage = function() {
*T-I9QY b,sw+`)M0 //去到未页ITPUB个人空间_dsby$P%x"fc
if(that.pages == 0 ||that.currentPage == that.pages) return;
:R@7B@7k#n,F.T0 if(true) {//切组条件修改,此条件作废,临时设为true
TbgI@6ThL0 that.pageDivObj.innerHTML = "";
!h[#f8^)NEc0 that.createHomePage();
'F!N)j(|/Gm R0 that.createPrePage();ITPUB个人空间p^9[c*w+I
var pageCode = 1;ITPUB个人空间#\#v)gG:k+\}Qs
var n = 1;
%?$Hf y'~4s_s0y0 while(pageCode <= that.pages) {ITPUB个人空间D |C'{MDlh8q"X
if(n > that.initMaxPage-1){ITPUB个人空间k d?!Ow ~CZZ
n = 1;
Hx5O(u]J_S0 }ITPUB个人空间2Thl$N5d5i
n++;ITPUB个人空间 n`\vd5b?
pageCode++;
9sMicc@f0 }ITPUB个人空间 \$`&n9U1f
$w8~7j8JUb7V0 pageCode = that.pages - (n-2);ITPUB个人空间(Fvrk(GNo"Q
for(var j = 1; j < n; j++) {ITPUB个人空间Yf2Hz#{ tO;?Z
var _span = document.createElement("SPAN");
,s \_2Ub5u8?%nB0 _span.style.cssText = "margin-left:10px";ITPUB个人空间 |H)_"X%R9x [,Fvf zR
if(pageCode == that.pages) { //初始化时第一页为活动页ITPUB个人空间O"bsy1x#wE
_span.innerText = pageCode;ITPUB个人空间t-M4?mp2[{
that.currentActiveSpan = _span;ITPUB个人空间Ks:hZ(pF6YtZL
}else{
\7O m9F1l/a ``0 var _a = document.createElement("A");
2_&K,o s%A2HYe0 _a.href = "#";
V G%q%N+Iv3`o ~ p,Y0 _a.onclick = that.reView;ITPUB个人空间[$F7w4DQ)_i p
_a.innerText = pageCode;ITPUB个人空间sb.`5s({+X_
_span.appendChild(_a);ITPUB个人空间s;AVOf/`]
pageCode++;ITPUB个人空间RJ[2l)Q6Im
}ITPUB个人空间"E2qj'U_NYy FG!wGx
that.pageDivObj.appendChild(_span);ITPUB个人空间EV,_+RA)BT
}
+UQ#u6o7H!D}0 <html>ITPUB个人空间(e;Lwol5V!\g
<head>
$FyO9xU*j0 <script src="pageSystem.js"></script>ITPUB个人空间2@F o9UZE[
<script>ITPUB个人空间-~En I~|
var psys;ITPUB个人空间E:m2n4?3f M{ |
window.onload = function() {ITPUB个人空间-]~L;U3P+tr sv
psys = new PageSystem(1120, "pageDiv", 10, showMsg); //总记录数, 分页系统容器,每组10页,回调ITPUB个人空间Y,[+Y)F$mhfZ"R4I
psys.init();ITPUB个人空间8EOb4kr/[W,U
}
8pywV3FOrk([ Qm:K0 ITPUB个人空间b-]&bTh1p1V h&E(G9PC
function showMsg(currentPage, pageSize) {
pkKoZ(\@OZ0 //回调方法自定义,两个参数,第一个为当前页,第二个为每页记录数
5Am;Ol9p*R0 /****************将currentPage和pageSize请求数据更新列表,最好使用ajax技术******************/ITPUB个人空间#@F9Y8@$s0k'O
alert("请求数据要的相应参数>> currentPage: "+ currentPage + " pageSize: " + pageSize);
rn|p v7I:j%}"Y4ss0 }ITPUB个人空间9Pp"{Jz
ITPUB个人空间1Y2e|S*g v3g
/*****如果要更新分页系统请如下操作******/ITPUB个人空间1D5a/jj~ b
//psys.update(count); //@count 为记录总数ITPUB个人空间 W _L-H_0C$s
function updatePageSys() {ITPUB个人空间/D2IM w K
)bSRPU8H0 psys.update(150); //@count 为记录总数ITPUB个人空间l4t.T i.oP
}
)Xg;\E5S3t!eK7}4m-m0 </script>ITPUB个人空间L5z e:X6?-GJ!G},{
<style>ITPUB个人空间t3^{+I;h ?\mp g
#pageDiv{ITPUB个人空间vEY4\5Lt!d ` Nm
font-size:13px;
B0re)G5k?0 }
?@-qzt4k0 </style>ITPUB个人空间s4hRWznYo
</head>ITPUB个人空间g1s7Eh)_^w2WZ!U
<body>
FTP e!]mO0 <div id="pageDiv">ITPUB个人空间gI wE}!X!Kh)J
</div>
p@`HU%QS0 <br/><br/>ITPUB个人空间 \WDSLL'U
<a href="#" onclick="updatePageSys();"/>更新分页系统</a>ITPUB个人空间q|/\%e?2?)E9\"kim
</body>ITPUB个人空间$hc5MJY$zr[7W
</html>ITPUB个人空间Xjx7b7V V&W
z/D)l&l:Dy-ec0 2、pageSystem.jsITPUB个人空间LrT\Z@0Eq
function PageSystem(count, divID, grountCount, callBack) {
*Es^JOL'Sm0 this.totolCount = count; //总记录数
`6BxuY&C0 this.initMaxPage = grountCount? grountCount: 5; //显示页数,如 1 2 3 4 5
}X Om!`*F%h0 this.pageSize = 10; //每页记录数
:TP_%uD-I hd O%b`0 this.currentMax = 0; //当前显示的最大页码, 如 1 2 3 4 5; 5为最大页码ITPUB个人空间}hKi&aW
this.currentMin = 0; //当前显示的最小页码, 如 11 12 13 14 15; 11为最小页码
3m'xI"v[i0 this.homePage = 0; //首页ITPUB个人空间+r$aIyLD4mo1t
this.endPage = 0; //未页ITPUB个人空间*\Ema$](V-A
this.currentPage = 0; //当前页ITPUB个人空间]5h/IZm,O2`
this.currentActiveSpan; //当前活动a容器ITPUB个人空间OS!\8A(SiC
this.pageDivObj = document.getElementById(divID); //分页系统容器ITPUB个人空间d8Yo"BL&k-@l
this.pages = 0; //总页数,计算得到
^'o&Y:T2K&lTk0 //this._url = _url; //提交URL
{J)\cTGY0 this.callBack = callBack; //回调ITPUB个人空间"T*m+LS\I
var that = this; //指针的引用ITPUB个人空间 i5X1t#_/lY |9e+LL
ITPUB个人空间JN;a;G~1dA%Un
Ys%jdf5y0 this.init = function() {
F1aO+{e%uA0 this.pages = parseInt(this.totolCount / this.pageSize); //获得总共有几页
6|c$ug7w |7a&L!k0 this.pages = this.totolCount % this.pageSize == 0? this.pages: this.pages+1;
;Q0q6FgC n,C0 this.createHomePage();
$e3wm^;B}9?0 this.createPrePage();ITPUB个人空间PB{4h"Ipgl;T
var n = 1;
h.DK+p(E/Px0 while(n <= this.pages) {
P)_.U'j P D0 if(n > this.initMaxPage){ITPUB个人空间Z|*KM?KWy5S3AU
break; //到达最大显示数ITPUB个人空间$fM$Z }~4U3H
}
$L$u&Z6W0A4p|0 var _span = document.createElement("SPAN");ITPUB个人空间.~9dbJR
_span.style.cssText = "margin-left:10px";ITPUB个人空间 d8LFqwz
if(n == 1) { //初始化时第一页为活动页
8gk|*BakGE0 _span.innerText = n;
)V0\!Qn-k&@"X"AY p nP0 this.currentActiveSpan = _span;
V#L;ImuB)x0 }else{
r:qEL3a c0 var _a = document.createElement("A");ITPUB个人空间-\9yqp%Mzu
_a.href = "#";ITPUB个人空间MbApj{'nn
_a.onclick = this.reView;
*e+w8E5R5poKWv6Jx0 _a.innerText = n;ITPUB个人空间B JI Xy8Hl$AM
_span.appendChild(_a);
E~["mH$p}0 }ITPUB个人空间gLh$q/SV jEaD|j
this.pageDivObj.appendChild(_span);
okd+?)nv8e(Jj0 n++;
)hRv^8N0 }ITPUB个人空间^0C4RVjpm7hFqA7\
if(this.pages != 0) {
MC:c4~kC't[}0 this.currentMax = n - 1; //当前组最大页码 1 2 3 4 5值为5ITPUB个人空间.Q0@ B7gB@
this.currentMin = 1; //当前最小页码 1 2 3 4 5 值为1
c)F#c:KM0 this.homePage = 1; //首页
{AvVm0 this.endPage = this.pages; //未页
-JAR{Hd0 this.currentPage = 1; //当前页ITPUB个人空间[aq(VV
}
)I*lr{ KQ.h6cw0 //alert(this.currentMax);ITPUB个人空间[*_7IeJ^+O+F UX M
//alert(this.currentMin);ITPUB个人空间 H!g#~F5Q*j
this.createNextPage();
)MD*{Y*[ P0 this.createEndPage();ITPUB个人空间*AY,dPwn{
ITPUB个人空间 W W(O?oE
ITPUB个人空间o#zn)Afes
ITPUB个人空间e2m-c(z YQw?.H&V:p
};ITPUB个人空间yYr4]1_8}
this.query = function() {ITPUB个人空间M,b^K1g:KY
var curPage = that.currentPage; //当前页
V6_~3u[yDq;{ y0 var pageSize = that.pageSize;ITPUB个人空间DM`8qH3[%W!?KG2T
if(that.callBack) that.callBack(curPage, pageSize);ITPUB个人空间w(K c;i-u
ITPUB个人空间U\6U9Q_.DE
};
GI.DU/Z U(C0 this.reView = function() {ITPUB个人空间[9WT,o%@gE#G
//重新渲染UIITPUB个人空间)o"p(Xcu(d
that.reViewActivePage();ITPUB个人空间?0xIl&xS5y$S
that.query();ITPUB个人空间1u;C#p;jRT,C&Ba9Tt
};ITPUB个人空间W[ V+Zw7P't
this.reViewActivePage = function() {ITPUB个人空间5@C6u{_]y
//重新渲染当前页视图
(D Ntu#n,`0 var actA = event.srcElement; //当前被点击的 a对象
D'kFz,?)R-\A/A0 var ap = actA.parentNode; //获得当前a容器span对象
c9n U|zVR6g3^3sY0 //还原当前页视图ITPUB个人空间mr)N/ZoE
var _a = document.createElement("A");
-qO3CH ?"X:W0 _a.href = "#";ITPUB个人空间c9i"[U\%xg3tv
_a.onclick = this.reView;ITPUB个人空间#tu1Bc$gG
_a.innerText = that.currentActiveSpan.innerText;
i&jS:w.X!y6Z0 that.currentActiveSpan.innerText = "";
4mz9`8_!p-{"Q/N-j+g+j0 that.currentActiveSpan.appendChild(_a);ITPUB个人空间S7J:A#MPn
//渲染新的当前页视图
p1DU:c}(zq0 that.currentActiveSpan = ap; //切换当前活动页容器
t]:}O~k!}0 var curPage = parseInt(actA.innerText);
:m ^ [2al0 that.currentActiveSpan.removeChild(actA);
O S&Y%UG8VcA Z*t h5L'|0 that.currentActiveSpan.innerText = curPage;
:q{h0k"z'WzDN0 this.currentPage = curPage; //更改当前页码
']N J-og;c,vp}0 if(!that.toNextGroup()) that.toPreGroup();ITPUB个人空间uLVK] u7eR
};
zhen![/u${*o0 this.toNextGroup = function() {
;F_~dQP1n0 //重新渲染显示页下一组 1 2 3 4 5 --> 5 6 7 8 9
pMH/T"q(RN,ik0 if(that.currentPage == that.currentMax) {//点击的页码为当前组最大页码,当go 下一组
:U5o(LA|I1L0 if(that.currentPage != that.endPage) { //如果点了未页当然不会再有下一组啦!ITPUB个人空间0L%C0V4yQ?1I N
that.pageDivObj.innerHTML = ""; //@1
?iz%d;dUa0R0 var pageCode = parseInt(that.currentPage) + 1; //显示页码
#Frzebels0 var n = 2; //当前活动页不重创ITPUB个人空间lN{"wv7rev6iM
this.createHomePage();ITPUB个人空间*clc9p4gpw
this.createPrePage();ITPUB个人空间*@q`!wt,W
that.currentActiveSpan.innerText = that.currentPage;ITPUB个人空间rNLHgAD b4G8K
that.pageDivObj.appendChild(that.currentActiveSpan); //将当前活动页回放,请看@1
KP Ri[OQ0 while(pageCode <= that.pages) {ITPUB个人空间u0~'@(dF/LY
if(n > that.initMaxPage){
+l J9L%b"WO'kZ0 break; //到达最大显示数
$sNJ7~['U1Jd WUx0 }
3K6F&`V-^~.k(a0 var _span = document.createElement("SPAN");ITPUB个人空间;L(tA'}D'n;@KH#v
_span.style.cssText = "margin-left:10px";ITPUB个人空间w2|^F{$X4[(fu
var _a = document.createElement("A");ITPUB个人空间@ `6n7U"Eb)y K
_a.href = "#";ITPUB个人空间#|t A;B)ED#o
_a.onclick = that.reView;ITPUB个人空间 QL]]Nd9V ^o
_a.innerText = pageCode;ITPUB个人空间[9oe6|4T
_span.appendChild(_a);
l#?_*X AB)E0 that.pageDivObj.appendChild(_span);
C;M_-O1C?I)S'x,R0 pageCode++;
#q0@a |L%u0 n++;ITPUB个人空间E9S&q5gE
}ITPUB个人空间K%S vS-YV;a,F3`+B"i
that.currentMax = pageCode - 1;
U]j,yr m0 that.currentMin = that.currentPage;ITPUB个人空间za} J^S{1e;]7ZE
// alert("currentMax: " + that.currentMax);ITPUB个人空间/x2f$|FS4S
// alert("currentMin: " + that.currentMin);ITPUB个人空间%m0Ai!jT@[
this.createNextPage();
5N4}H |O6k0 that.createEndPage();
/qD5d:D3N0 return true;
OR}gy hE0 }//end if
E0Wp-qKz,v6SV0 }//end if
Y:|k.K/m0 return false;
g,E4rIdAW6DXo/{0 };ITPUB个人空间c*] x]Y9M t;v
this.toPreGroup = function() { //ITPUB个人空间7nE2pZ7B+w$}
//重新渲染显示页上一组 5 6 7 8 9 -->1 2 3 4 5ITPUB个人空间#rPB v,@%P7H
if(that.currentPage == that.currentMin) { //点了组中最小页码ITPUB个人空间hi(io'd-P:J Z$tdD8f
if(that.currentPage != 1) {
:BQ \J q"@0 that.pageDivObj.innerHTML = ""; //@2ITPUB个人空间rbb9Wv5_(Th9o3b^:A*A f
var pageCode = parseInt(that.currentPage) - (that.initMaxPage -1); //显示页码ITPUB个人空间ykN'f#`{woUN
var n = 2; //当前活动页不重创ITPUB个人空间4fs8h-Y d
this.createHomePage();
S"?+C%[:fP`&i0 this.createPrePage();ITPUB个人空间$C zj1IHg0{o
while(true) {
DeU [ sn [0 if(n > that.initMaxPage){
-dj aM.t/M0 break; //到达最大显示数
i{ vf,T:C1I\H0 }
N5jy6mZik@4S6D,~0 var _span = document.createElement("SPAN");ITPUB个人空间cb2n.I(J-FZ:hW
_span.style.cssText = "margin-left:10px";
+D.r8u(v[}p0 var _a = document.createElement("A");ITPUB个人空间%C7E,W4^#{_
_a.href = "#";
@&t!?Y1S"rv|{4t0 _a.onclick = that.reView;
l#THX^-J L4VQ0 _a.innerText = pageCode++;ITPUB个人空间VLK3q+a,`6H
_span.appendChild(_a);
,\8wF7M!? [6J0 that.pageDivObj.appendChild(_span);
S`3d^n?7^h0 n++;ITPUB个人空间"~Y![^*wH
}
P IQeq)] e m0 that.currentMax = that.currentPage;
O'B:[`q0 that.currentMin = pageCode - (that.initMaxPage -1);ITPUB个人空间-~JV J9M
//alert("currentMax: " + that.currentMax);
6[0z%{9W'p#y0 // alert("currentMin" + that.currentMin);
!~)?n4k/l0 that.currentActiveSpan.innerText = that.currentPage;
^:q-q#]|/V-\h0 that.pageDivObj.appendChild(that.currentActiveSpan); //将当前活动页回放,请看@2ITPUB个人空间1v?"f\7h%H4|zX Y2o
that.createNextPage();
R4K P[{ \fAd9Z*Ld0 that.createEndPage();ITPUB个人空间C7O FU;C3Re
}//end ifITPUB个人空间_9w'\#Hpj
}//end ifITPUB个人空间,I tNo2j)g2k @[
};
YKtx@1MW{0e!^0 this.toHomePage = function(){
f MR/J5`d0 //去到首页
z9_&}Q9}2NS Vn P8s]0 if(that.pages == 0) return;ITPUB个人空间BP)i!hf8o|
if(that.currentPage != 1) {//切组ITPUB个人空间8[:j5|vX w^ D1@0L
that.pageDivObj.innerHTML = "";
0b)W:ki&W)@3u0 that.init();
o_)qfmsP0 }//end ifITPUB个人空间oC$zTk/N:V1o
that.currentPage = 1;
] a0M ~bq3H{0 that.currentMin = 1;
P3M)}]zy_0 that.currentMax = that.initMaxPage;ITPUB个人空间n5G3z&f"^1W
that.query();ITPUB个人空间S9A#iPHEc~8H[
};
w[j-{ a,]Y v0 this.toEndPage = function() {
*T-I9QY b,sw+`)M0 //去到未页ITPUB个人空间_dsby$P%x"fc
if(that.pages == 0 ||that.currentPage == that.pages) return;
:R@7B@7k#n,F.T0 if(true) {//切组条件修改,此条件作废,临时设为true
TbgI@6ThL0 that.pageDivObj.innerHTML = "";
!h[#f8^)NEc0 that.createHomePage();
'F!N)j(|/Gm R0 that.createPrePage();ITPUB个人空间p^9[c*w+I
var pageCode = 1;ITPUB个人空间#\#v)gG:k+\}Qs
var n = 1;
%?$Hf y'~4s_s0y0 while(pageCode <= that.pages) {ITPUB个人空间D |C'{MDlh8q"X
if(n > that.initMaxPage-1){ITPUB个人空间k d?!Ow ~CZZ
n = 1;
Hx5O(u]J_S0 }ITPUB个人空间2Thl$N5d5i
n++;ITPUB个人空间 n`\vd5b?
pageCode++;
9sMicc@f0 }ITPUB个人空间 \$`&n9U1f
$w8~7j8JUb7V0 pageCode = that.pages - (n-2);ITPUB个人空间(Fvrk(GNo"Q
for(var j = 1; j < n; j++) {ITPUB个人空间Yf2Hz#{ tO;?Z
var _span = document.createElement("SPAN");
,s \_2Ub5u8?%nB0 _span.style.cssText = "margin-left:10px";ITPUB个人空间 |H)_"X%R9x [,Fvf zR
if(pageCode == that.pages) { //初始化时第一页为活动页ITPUB个人空间O"bsy1x#wE
_span.innerText = pageCode;ITPUB个人空间t-M4?mp2[{
that.currentActiveSpan = _span;ITPUB个人空间Ks:hZ(pF6YtZL
}else{
\7O m9F1l/a ``0 var _a = document.createElement("A");
2_&K,o s%A2HYe0 _a.href = "#";
V G%q%N+Iv3`o ~ p,Y0 _a.onclick = that.reView;ITPUB个人空间[$F7w4DQ)_i p
_a.innerText = pageCode;ITPUB个人空间sb.`5s({+X_
_span.appendChild(_a);ITPUB个人空间s;AVOf/`]
pageCode++;ITPUB个人空间RJ[2l)Q6Im
}ITPUB个人空间"E2qj'U_NYy FG!wGx
that.pageDivObj.appendChild(_span);ITPUB个人空间EV,_+RA)BT
}