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(一)--- Node.js简介及安装开发环境
May 20 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
浅谈Nodejs应用主文件index.js
Aug 28 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
NodeJs通过async/await处理异步的方法
Oct 09 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
nodejs图片处理工具gm用法小结
Dec 12 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
nodejs中实现用户注册路由功能
May 20 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 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 fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
初识PHP
2014/09/28 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
浅析python递归函数和河内塔问题
2017/04/18 Python
详解flask表单提交的两种方式
2018/07/21 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python基础 range的用法解析
2019/08/23 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
利用python实现逐步回归
2020/02/24 Python
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
电钳专业个人求职信
2014/01/04 职场文书
全民健身日活动方案
2014/01/29 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书