nodejs分页类代码分享

时间: 作者:长般

  

[nodejs,分页类]nodejs分页类代码分享

  

分页类,我放在 plugin/Paginate.js  

  

代码如下:

  
/**  
* 分页插件类(缺少每页的显示数,listrows明天写)  
* @param page {Number} 当前页  
* @param pagesize {Number} 每页记录数  
* @param total {Number} 总记录数  
* @constructor  
*/  
function Paginate(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(){  
var first = (this.page-1)*this.pagesize;  
if(first>this.total){  
return (this.maxpage-1)*this.pagesize;  
}  
return first;  
}  
/*  
* 当前页最大的条数  
*/  
Paginate.prototype.last = function(){  
var last = this.first()+this.pagesize;  
if(last>this.total){  
return this.total;  
}  
return last;  
}  

  

/**  
* 上一页  
* @returns {number}  
*/  
Paginate.prototype.prev = function(){  
if(this.page <= 1){  
return 雅星娱乐 false;  
}  
return this.page-1;  
}  

  

/**  
* 下一页  
* @returns {*}  
*/  
Paginate.prototype.next = function(){  
if(this.page >= this.maxpage){  
return false;  
}  
return (parseInt(this.page)+1);  
}  
module.exports = Paginate;  

  

  

使用例子  

  

代码如下:

  
var Paginate = require("../plugin/Paginate");  
var q = req.query.q;  
var paginate = new Paginate(q, 10, 185);  
var page = paginate.page;//当前页数  
var first = paginate.first();//当前第一条  
var last = paginate.last();//当前最大条数  
var maxpage = paginate.maxpage;//总页数  
var pagesize = paginate.pagesize;//每页显示数  
var total = paginate.total;//总记录数  
var prev = paginate.prev();//上一条  
var next = paginate.next();//下一条  
res.json({page:page, first:first,last:last,maxpage:maxpage,pagesize:pagesize, total:total,prev:prev,next:next})  
  

(责任编辑:admin)

推荐图片Related

相关文章Related

查看更多热门新闻


首页 | 特效插件 | 常用代码 | 样式素材 | 脚本代码 | css特效

Copyright © 2017-2018 雅星娱乐 版权所有

系统要求:本站自适应各终端浏览器分辨率

请使用Google、Firefox、IE9、百度浏览器登录网站

网站地图 | RSS订阅 | 雅星娱乐