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的模块写法入门(实例代码)
Mar 07 NodeJs
跟我学Nodejs(三)--- Node.js模块
May 25 NodeJs
使用Nodejs开发微信公众号后台服务实例
Sep 03 NodeJs
轻松创建nodejs服务器(10):处理POST请求
Dec 18 NodeJs
Nodejs为什么选择javascript为载体语言
Jan 13 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
Nodejs 获取时间加手机标识的32位标识实现代码
Mar 07 NodeJs
docker中编译nodejs并使用nginx启动
Jun 23 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
Nodejs异步流程框架async的方法
Jun 07 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
解析js如何获取css样式
2016/12/11 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
解决Vue watch里调用方法的坑
2020/11/07 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
python判断字符串是否纯数字的方法
2014/11/19 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
国际书籍零售商:Wordery
2017/11/01 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
车间副主任岗位职责
2013/12/24 职场文书
工伤赔偿协议书
2014/04/15 职场文书
新闻发布会策划方案
2014/06/12 职场文书
超市工作总结范文2014
2014/12/19 职场文书
先进个人材料怎么写
2014/12/30 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
关于EntityWrapper的in用法
2022/03/22 Java/Android