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服务器(6):作出响应
Dec 18 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
详解nodejs中exports和module.exports的区别
Feb 17 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
CentOS 安装NodeJS V8.0.0的方法
Jun 15 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodejs实现简单的gulp打包
Dec 21 NodeJs
详解redis在nodejs中的应用
May 02 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 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程序员应具有的7种能力小结
2014/11/27 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
深入浅出了解Node.js Streams
2019/05/27 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python 元类实例解析
2018/04/04 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Django 自定义分页器的实现代码
2019/11/24 Python
python实现图片转字符画的完整代码
2021/02/21 Python
护理专业学生职业生涯规划范文
2014/03/11 职场文书
环保建议书作文
2014/03/12 职场文书
周年庆促销方案
2014/03/15 职场文书
困难补助申请报告
2015/05/19 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android