//分页控制
//参数分别为:RS对象,每页显示条数,页码指向的链接,当前页码
function Pages(rsObj,pagesize,url,num){
var pageContent
rsObj.PageSize = pagesize
//如果当前没有页码,默认指向第一页
if(!$r(num) || $r(num) == "" || $r(num).Count ==0 || $r(num)<1){
num = 1;
rsObj.AbsolutePage = 1;
//否则指向该页码
}else{
num = Number($r(num)+"");
rsObj.AbsolutePage = num
}
//计算总页数:为什么不用RS.PageCount,因为之后要自动调整每页显示条数
//否则页码总数计算会出错
var pageCount = Math.ceil(rsObj.RecordCount/pagesize)
pageContent = pageNum(rsObj,pageCount,url,num)
return "共 "+pageCount+"页 / "+rsObj.RecordCount+" 条记录 "+pageContent
}
//开始计算页码
function pageNum(rsObj,pgCont,url,num){
var CS,CSL,CSR,z,cont,thisContent="",maxPageNum=10
//当限制每次显示的页码条数时,计算共有多少组页码
CS = Math.ceil(pgCont/maxPageNum)
//计算当前组页码的最大页数
CSR = Math.ceil(num/maxPageNum)
//计算当前组页码的最小页数
CSL = (CSR-1)*maxPageNum
//当前页码为最后一组
if(CS == CSR){
//因为最后一组页码不可能于所剩记录条数相等,所以要做一下容错
if(pgCont%maxPageNum == 0){
cont = CSL+maxPageNum
}else{
cont = CSL+(pgCont%maxPageNum)
}
}else{
cont = CSR*maxPageNum
}
//当前页面为最后一页,并且记录数不等于默认显示记录数时,重新写入记录数
if(num == pgCont && rsObj.RecordCount%rsObj.PageSize != 0){
rsObj.PageSize = rsObj.RecordCount%rsObj.PageSize
}
CSL += 1
//设置首页,上一页
if(num > 1){
thisContent += pgUrl(url,1,"首页")+pgUrl(url,(num-1),"上一页")
}else{
thisContent += "<span>首页</span><span>上一页</span>"
}
//前后页组
//如果当前页码不为第一组则显示跳到上组页码链接
if(CSR > 1){
thisContent += pgUrl(url,(CSL-maxPageNum),"[...]")
}//else{
// thisContent += "<span>[...]</span>"
//}
//循环打出本组页码
for(z=CSL; z<=cont; z++){
thisContent += checkTO(z,num,url)
}
//如果当前页码不为第一组,并且还有下组页码则显示跳到下组页码链接
if(CSR < CS){
thisContent += pgUrl(url,(cont+1),"[...]")
}//else{
// thisContent += "<span>[...]</span>"
//}
if(num != pgCont){
thisContent += pgUrl(url,(num+1),"下一页")+pgUrl(url,pgCont,"尾页")
}else{
thisContent += "<span>下一页</span><span>尾页</span>"
}
return thisContent
}
//判断是否在本页或本组
function checkTO(pageSort,num,url){
if(pageSort == num){
return "<span class='default'>["+pageSort+"]</span>"
}else{
return pgUrl(url,pageSort,"["+pageSort+"]")
}
}
//不在本页或本组给出链接
function pgUrl(url,num,txt){
return '<a href="'+url+'page='+num+'">'+txt+'</a>'
}
posted on 2006-07-13 13:34
汪杰 阅读(533)
评论(0) 编辑 收藏 引用 所属分类:
javascript