ホームページ  >  記事  >  ウェブフロントエンド  >  nodejsページングクラスコードsharing_node.js

nodejsページングクラスコードsharing_node.js

WBOY
WBOYオリジナル
2016-05-16 16:44:071511ブラウズ

ページネーションクラス、plugin/Paginate.js に置きました

コードをコピー コードは次のとおりです:

/**
* ページング プラグイン クラス (ページあたりの表示数が不足しているため、リスト行は明日書き込まれます)
* @param page {Number} 現在のページ
* @param pagesize {Number} ページあたりのレコード数
* @ param total {Number} レコードの総数
* @constructor
*/
関数 Paginate(page, pagesize, total){
if(!page || page page = 1;
}
if(!pagesize || pagesize pagesize = 20; 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 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();//前へcategory
var next = paginate.next();//次の記事
res.json({page:page, first:first,last:last,maxpage:maxpage,pagesize:pagesize, total:total,prev :前、次:次} )


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。