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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
ajax +NodeJS 实现图片上传实例
Jun 06 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 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运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
微信access_token的获取开发示例
2015/04/16 PHP
微信支付开发订单查询实例
2016/07/12 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
python验证身份证信息实例代码
2019/05/06 Python
python调用摄像头拍摄数据集
2019/06/01 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
院药学专业个人求职信
2013/09/21 职场文书
面料业务员岗位职责
2013/12/26 职场文书
元旦晚会邀请函
2014/01/27 职场文书
打架检讨书300字
2014/02/02 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
新法人代表任命书
2014/06/06 职场文书
安全横幅标语
2014/06/09 职场文书
体育专业求职信
2014/07/16 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
优秀教师事迹材料
2014/12/15 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python