nodejs分页类代码分享
分页类,我放在plugin/Paginate.js
/**
*分页插件类(缺少每页的显示数,listrows明天写)
*@parampage{Number}当前页
*@parampagesize{Number}每页记录数
*@paramtotal{Number}总记录数
*@constructor
*/
functionPaginate(page,pagesize,total){
if(!page||page<1){
page=1;
}
if(!pagesize||pagesize<1){
pagesize=20;
}
if(!total||total<0){
total=0;
}
this.pagesize=pagesize;
this.total=total;
if(this.total%this.pagesize===0){
this.maxpage=parseInt(this.total/this.pagesize);
}else{
this.maxpage=parseInt(this.total/this.pagesize)+1;
}
if(page>this.maxpage){
this.page=this.maxpage;
}else{
this.page=page;
}
}
/* *当前开始的条数 */ Paginate.prototype.first=function(){ varfirst=(this.page-1)*this.pagesize; if(first>this.total){ return(this.maxpage-1)*this.pagesize; } returnfirst; } /* *当前页最大的条数 */ Paginate.prototype.last=function(){ varlast=this.first()+this.pagesize; if(last>this.total){ returnthis.total; } returnlast; }
/** *上一页 *@returns{number} */ Paginate.prototype.prev=function(){ if(this.page<=1){ returnfalse; } returnthis.page-1; }
/** *下一页 *@returns{*} */ Paginate.prototype.next=function(){ if(this.page>=this.maxpage){ returnfalse; } return(parseInt(this.page)+1); } module.exports=Paginate;