nodejs分頁類代碼分享
分頁類,我放在 plugin/Paginate.js
/**
* 分頁插件類(缺少每頁的顯示數(shù),listrows明天寫)
* @param page {Number} 當(dāng)前頁
* @param pagesize {Number} 每頁記錄數(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)前開始的條數(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)前頁最大的條數(shù)
*/
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;//當(dāng)前頁數(shù)
var first = paginate.first();//當(dāng)前第一條
var last = paginate.last();//當(dāng)前最大條數(shù)
var maxpage = paginate.maxpage;//總頁數(shù)
var pagesize = paginate.pagesize;//每頁顯示數(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)分頁數(shù)據(jù)以及倒序數(shù)據(jù)
- Vue+Node實(shí)現(xiàn)商品列表的分頁、排序、篩選,添加購物車功能詳解
- NodeJs操作MongoDB教程之分頁功能以及常見問題
- Node.js中Bootstrap-table的兩種分頁的實(shí)現(xiàn)方法
- nodejs mysql 實(shí)現(xiàn)分頁的方法
- nodejs個(gè)人博客開發(fā)第六步 數(shù)據(jù)分頁
- node.js基于mongodb的搜索分頁示例
- NodeJS和BootStrap分頁效果的實(shí)現(xiàn)代碼
- node+express實(shí)現(xiàn)分頁效果
相關(guān)文章
Egret引擎開發(fā)指南之運(yùn)行項(xiàng)目
Egret Framework是一款使用TypeScript語言構(gòu)建的開源免費(fèi)的移動(dòng)游戲框架。Egret Framework的核心定位是開放,高效,優(yōu)雅。通過它,你可以快速地創(chuàng)建HTML5類型的移動(dòng)游戲,也可以將游戲項(xiàng)目編譯輸出成為目標(biāo)移動(dòng)平臺的原生游戲應(yīng)用。2014-09-09利用express啟動(dòng)一個(gè)server服務(wù)的方法
下面小編就為大家?guī)硪黄胑xpress啟動(dòng)一個(gè)server服務(wù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟
這篇文章主要介紹了Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問題
這篇文章主要介紹了解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10nodejs實(shí)現(xiàn)截取上傳視頻中一幀作為預(yù)覽圖片
這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)截取上傳視頻中一幀作為預(yù)覽圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理實(shí)例
本篇文章主要介紹了NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05