Maison >interface Web >js tutoriel >Code de classe de pagination nodejs Sharing_node.js

Code de classe de pagination nodejs Sharing_node.js

WBOY
WBOYoriginal
2016-05-16 16:44:071525parcourir

Classe de pagination, je l'ai mis dans plugin/Paginate.js

Copier le code Le code est le suivant :

/**
* Classe de plug-in de pagination (manque de numéro d'affichage par page, les listes seront écrites demain)
* @param page {Number} page actuelle
* @param pagesize {Number} nombre d'enregistrements par page
* @ param total {Number} nombre total d'enregistrements
* @constructor
*/
fonction 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;
}
}

/*
* Le numéro de départ actuel
*/
Paginate.prototype.first = function(){
var first = (this.page-1)*this.pagesize; 🎜> if(first>this.total){
return (this.maxpage-1)*this.pagesize;
}
return first
}
/*
* Le nombre maximum d'éléments sur la page actuelle
*/
Paginate.prototype.last = function(){
var last = this.first() this.pagesize;
if(last>this .total ){
renvoie this.total;
}
renvoie le dernier;
>

/**

* Page précédente
* @returns {numéro}
*/
Paginate.prototype.prev = function(){
if(this.page <= 1){
return false;
}
Renvoyez cette.page-1;
>

/**

* Page suivante
* @returns {*}
*/
Paginate.prototype.next = function(){
if(this.page >= this.maxpage){
return false;
}
return (parseInt(this.page) 1);
}
module.exports = Paginate;

Exemples d'utilisation

Copier le code Le code est le suivant :
var Paginate = require("../ plugin/Paginate ");
var q = req.query.q;
var paginate = new Paginate(q, 10, 185);
var page = paginate.page;//Numéro de page actuel
var first = paginate.first();//Le premier élément actuel
var last = paginate.last();//Le nombre maximum actuel d'éléments
var maxpage = paginate.maxpage;//Total nombre de pages
var pagesize = paginate.pagesize;//Nombre affiché par page
var total = paginate.total;//Nombre total d'enregistrements
var prev = paginate.prev();//Précédent article
var next = paginate.next();//Article suivant
res.json({page:page, first:first,last:last,maxpage:maxpage,pagesize:pagesize, total:total,prev :préc,suivant:suivant} )

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn