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下DNS缓存问题浅析
Nov 16 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
实例分析nodejs模块xml2js解析xml过程中遇到的坑
Mar 18 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
NodeJs 实现简单WebSocket即时通讯的示例代码
Aug 05 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判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
python支持断点续传的多线程下载示例
2014/01/16 Python
python基础教程之缩进介绍
2014/08/29 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
Python 忽略文件名编码的方法
2020/08/01 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
中国网上药店领导者:1药网
2017/02/16 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
办公室前台岗位职责范本
2013/12/10 职场文书
小学生暑假感言
2014/02/06 职场文书
面试自我评价范文
2014/09/17 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
SQL Server 中的事务介绍
2022/05/20 SQL Server
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis