/*
curPage: 当前页 数字[必须]
countPage: 总共多少页 数字[必须]
para: 代表页码的关键字 字符串[可省略,如省略则默认代表页码的关键字为page] 比如: "pag"
用法举例:
new page(5, 60, "pag");
5 当前页码
60 总共多少页
"pag" 分页的关键字
*/
function page(curPage, countPage, para){
if(isNaN(parseInt(curPage)) || isNaN(parseInt(countPage)))return;
curPage = parseInt(curPage);
countPage = parseInt(countPage);
curPage = curPage<1 ? 1 : curPage;
countPage = countPage<1 ? 1 : countPage;
curPage = curPage > countPage? countPage : curPage;
this.co = countPage;
this.para = para || 'page';
this.pa = ['<table cellspacing="4" cellpadding="1"><tbody><tr align="center">'];
if(countPage<10){
this.deal('<td class="page"><a href="{para}">{page}</a></td>', 1, curPage);
this.pa.push('<td class="page2"><strong>'+curPage+'</strong></td>');
this.deal('<td class="page"><a href="{para}">{page}</a></td>', curPage+1, countPage+1);
}else{
if(curPage <= 5){
this.deal('<td class="page"><a href="{para}">{page}</a></td>', 1, curPage);
this.pa.push('<td class="page2"><strong>'+curPage+'</strong></td>');
this.deal('<td class="page"><a href="{para}">{page}</a></td>', curPage+1, 10);
this.deal('<td class="page"><a title="下十页" href="{para}"><img src="sfc_files/Next.gif" width="8" height="8" border="0" /></a></td>', (curPage+9>countPage?countPage:curPage+9));
this.deal('<td class="page"><a title="尾页" href="{para}"><img src="sfc_files/Last.gif" width="9" height="8" border="0" /></a></td>', countPage);
}else if(curPage>=(countPage-3)){
this.deal('<td class="page"><a title="第一页" href="{para}"><img src="sfc_files/First.gif" width="8" height="8" border="0" /></a></td>', 1);
this.deal('<td class="page"><a title="上十页" href="{para}"><img src="sfc_files/Previous.gif" width="9" height="8" border="0" /></a></td>', (curPage-9<1?1:curPage-9));
this.deal('<td class="page"><a href="{para}">{page}</a></td>', (curPage-8)+(countPage-curPage) , curPage);
this.pa.push('<td class="page2"><strong>'+curPage+'</strong></td>');
this.deal('<td class="page"><a href="{para}">{page}</a></td>', curPage+1, countPage+1);
}else{
this.deal('<td class="page"><a title="第一页" href="{para}"><img src="sfc_files/First.gif" width="8" height="8" border="0" /></a></td>', 1);
this.deal('<td class="page"><a title="上十页" href="{para}"><img src="sfc_files/Previous.gif" width="9" height="8" border="0" /></a></td>', (curPage-9<1?1:curPage-9));
this.deal('<td class="page"><a href="{para}">{page}</a></td>', curPage-4, curPage);
this.pa.push('<td class="page2"><strong>'+curPage+'</strong></td>');
this.deal('<td class="page"><a href="{para}">{page}</a></td>', curPage+1, curPage+5);
this.deal('<td class="page"><a title="下十页" href="{para}"><img src="sfc_files/Next.gif" width="8" height="8" border="0" /></a></td>', (curPage+9>countPage?countPage:curPage+9));
this.deal('<td class="page"><a title="尾页" href="{para}"><img src="sfc_files/Last.gif" width="9" height="8" border="0" /></a></td>', countPage);
}
}
var id = Math.random().toString().substr(3,5);
this.deal('<td><input class="tabletitle1" id="page_num_'+id+'" url="{para}" style="30px;" size="2" value="1" name="page" /></td>', 99999999);
this.pa.push('<td><input class="tabletitle1" type="button" value="GO" onclick="page.go(\'page_num_'+id+'\')" /></td>');
this.pa.push('</tr></tbody></table>');
document.write(this.pa.join(''));
this.pa = null;
}
page.go = function(o){
o = document.getElementById(o);
o.value = o.value.replace(/[^\d]*/g, '') || 1;
location.href = o.url.replace(/99999999/g, o.value);
}
page.prototype.deal = function(c, d, e){
e = e || d+1;
for(;d<e;d++){
this.pa.push(c.replace(/\{para\}/g, this.url.set(location.href, this.para, d)).replace(/\{page\}/g, d));
}
}
page.prototype.url = {
set : function(url, p, v){
var o = {};
url = url.split("?");
if (url.length>1){
var a = url[1].split("&");
for (var i=0;i<a.length;i++){
var s = a[i].split("=");
o[s[0]] = s[1];
}
o[p] = v;
var a = [];
for (var i in o){
a.push(i+"="+o[i]);
}
return url[0] + "?" + a.join("&");
}
return url[0]+'?'+p+'='+v;
}
}
<SCRIPT language=javascript>new page("+pageIndex+","+recordCount.ToString()+@",'page');</SCRIPT>