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})
相关文章
在NodeJs中使用node-schedule增加定时器任务的方法
这篇文章主要介绍了从零开始在NodeJs中使用node-schedule增加定时器任务的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06
详解Wondows下Node.js使用MongoDB的环境配置
这篇文章主要介绍了详解Wondows下Node.js使用MongoDB的环境配置,这里使用到了Mongoose驱动来让JavaScript操作MongoDB,需要的朋友可以参考下2016-03-03
node.js 中的require用法和import的区别解析
在Node.js中,require是一个内置的函数,用于在当前模块中加载和缓存其他模块,这篇文章给大家介绍node.js 中的require用法和import的区别,感兴趣的朋友跟随小编一起看看吧2024-04-04
从零开始学习Node.js系列教程之设置HTTP头的方法示例
这篇文章主要介绍了Node.js设置HTTP头的方法,详细分析了常见HTTP头的功能、原理及相关设置操作技巧,需要的朋友可以参考下2017-04-04


最新评论