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 相关文章推荐
14款NodeJS Web框架推荐
Jul 11 NodeJs
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 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
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
php 多文件上传的实现实例
2016/10/23 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
2007/03/27 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
JS常用函数使用指南
2014/11/23 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
Python列表解析操作实例总结
2020/02/26 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
信息部岗位职责
2013/11/12 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
高二历史教学反思
2014/01/25 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
企业法人代表证明书
2014/09/27 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
雷锋的故事观后感
2015/06/10 职场文书