nodejs分页类代码分享


Posted in NodeJs onJune 17, 2014

分页类,我放在 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 相关文章推荐
NodeJs中的非阻塞方法介绍
Jun 05 NodeJs
基于promise.js实现nodejs的promises库
Jul 06 NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 NodeJs
提高NodeJS中SSL服务的性能
Jul 15 NodeJs
nodejs命令行参数处理模块commander使用实例
Sep 17 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
NodeJs基本语法和类型
Feb 13 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs中Express与Koa2对比分析
Feb 06 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
nodejs npm包管理的配置方法及常用命令介绍
Jun 05 #NodeJs
nodejs npm install全局安装和本地安装的区别
Jun 05 #NodeJs
nodejs文件操作模块FS(File System)常用函数简明总结
Jun 05 #NodeJs
使用forever管理nodejs应用教程
Jun 03 #NodeJs
使用upstart把nodejs应用封装为系统服务实例
Jun 01 #NodeJs
nodejs获取本机内网和外网ip地址的实现代码
Jun 01 #NodeJs
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 #NodeJs
You might like
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
php实现过滤UBB代码的类
2015/03/12 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
jQuery实现列表的增加和删除功能
2018/06/14 jQuery
详解从Vue-router到html5的pushState
2018/07/21 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
大学生职业生涯规划书模板
2014/01/03 职场文书
个人作风剖析材料
2014/02/02 职场文书
记账会计岗位职责
2014/06/16 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android