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;