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 相关文章推荐
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
nodejs基础应用
Feb 03 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
May 13 NodeJs
CentOS 安装NodeJS V8.0.0的方法
Jun 15 NodeJs
手把手教你把nodejs部署到linux上跑出hello world
Jun 19 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 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四种基础算法代码实例
2013/10/29 PHP
php创建多级目录的方法
2015/03/24 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
Web开发之JavaScript
2012/03/29 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
python机器学习实现决策树
2019/11/11 Python
python实现银行实战系统
2020/02/26 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
特色冷饮店创业计划书
2014/01/28 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
承诺书范本
2015/01/21 职场文书
美术教师个人工作总结
2015/02/06 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫