nodejs分頁(yè)類代碼分享
分頁(yè)類,我放在 plugin/Paginate.js
/**
* 分頁(yè)插件類(缺少每頁(yè)的顯示數(shù),listrows明天寫)
* @param page {Number} 當(dāng)前頁(yè)
* @param pagesize {Number} 每頁(yè)記錄數(shù)
* @param total {Number} 總記錄數(shù)
* @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;
}
}
/*
* 當(dāng)前開(kāi)始的條數(shù)
*/
Paginate.prototype.first = function(){
var first = (this.page-1)*this.pagesize;
if(first>this.total){
return (this.maxpage-1)*this.pagesize;
}
return first;
}
/*
* 當(dāng)前頁(yè)最大的條數(shù)
*/
Paginate.prototype.last = function(){
var last = this.first()+this.pagesize;
if(last>this.total){
return this.total;
}
return last;
}
/**
* 上一頁(yè)
* @returns {number}
*/
Paginate.prototype.prev = function(){
if(this.page <= 1){
return false;
}
return this.page-1;
}
/**
* 下一頁(yè)
* @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;//當(dāng)前頁(yè)數(shù)
var first = paginate.first();//當(dāng)前第一條
var last = paginate.last();//當(dāng)前最大條數(shù)
var maxpage = paginate.maxpage;//總頁(yè)數(shù)
var pagesize = paginate.pagesize;//每頁(yè)顯示數(shù)
var total = paginate.total;//總記錄數(shù)
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與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)
- Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車功能詳解
- NodeJs操作MongoDB教程之分頁(yè)功能以及常見(jiàn)問(wèn)題
- Node.js中Bootstrap-table的兩種分頁(yè)的實(shí)現(xiàn)方法
- nodejs mysql 實(shí)現(xiàn)分頁(yè)的方法
- nodejs個(gè)人博客開(kāi)發(fā)第六步 數(shù)據(jù)分頁(yè)
- node.js基于mongodb的搜索分頁(yè)示例
- NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼
- node+express實(shí)現(xiàn)分頁(yè)效果
相關(guān)文章
Node.js 實(shí)現(xiàn)簡(jiǎn)單的接口服務(wù)器的實(shí)例代碼
這篇文章主要介紹了Node.js 實(shí)現(xiàn)簡(jiǎn)單的接口服務(wù)器的實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
nodejs之koa2請(qǐng)求示例(GET,POST)
本篇文章主要介紹了nodejs之koa2請(qǐng)求示例(GET,POST),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
NodeJs+MySQL實(shí)現(xiàn)注冊(cè)登錄功能
這篇文章主要為大家詳細(xì)介紹了NodeJs+MySQL實(shí)現(xiàn)注冊(cè)登錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
快速使用node.js進(jìn)行web開(kāi)發(fā)詳解
本篇文章主要介紹了快速使用node.js進(jìn)行web開(kāi)發(fā)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
在NodeJs中使用node-schedule增加定時(shí)器任務(wù)的方法
這篇文章主要介紹了從零開(kāi)始在NodeJs中使用node-schedule增加定時(shí)器任務(wù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
詳解Wondows下Node.js使用MongoDB的環(huán)境配置
這篇文章主要介紹了詳解Wondows下Node.js使用MongoDB的環(huán)境配置,這里使用到了Mongoose驅(qū)動(dòng)來(lái)讓JavaScript操作MongoDB,需要的朋友可以參考下2016-03-03
node.js?中的require用法和import的區(qū)別解析
在Node.js中,require是一個(gè)內(nèi)置的函數(shù),用于在當(dāng)前模塊中加載和緩存其他模塊,這篇文章給大家介紹node.js?中的require用法和import的區(qū)別,感興趣的朋友跟隨小編一起看看吧2024-04-04
node使用require?mkdirp創(chuàng)建文件夾示例
這篇文章主要為大家介紹了node使用require?mkdirp創(chuàng)建文件夾示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
從零開(kāi)始學(xué)習(xí)Node.js系列教程之設(shè)置HTTP頭的方法示例
這篇文章主要介紹了Node.js設(shè)置HTTP頭的方法,詳細(xì)分析了常見(jiàn)HTTP頭的功能、原理及相關(guān)設(shè)置操作技巧,需要的朋友可以參考下2017-04-04

