欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs分頁類代碼分享

 更新時(shí)間:2014年06月17日 10:04:47   投稿:hebedich  
最近在寫nodejs項(xiàng)目,沒有發(fā)現(xiàn)合適或者特別好用的分頁插件,今天晚上自己寫了一個(gè),分享給大家,也希望大家能夠拍磚!

分頁類,我放在 plugin/Paginate.js

復(fù)制代碼 代碼如下:

/**
 * 分頁插件類(缺少每頁的顯示數(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;

使用例子

復(fù)制代碼 代碼如下:

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})

相關(guān)文章

  • Egret引擎開發(fā)指南之運(yùn)行項(xiàng)目

    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
  • 使用 Node.js 開發(fā)資訊爬蟲流程

    使用 Node.js 開發(fā)資訊爬蟲流程

    這篇文章主要介紹了使用 Node.js 開發(fā)資訊爬蟲流程,爬蟲流程概括下來就是把目標(biāo)網(wǎng)站的HTML下載到本地再進(jìn)行數(shù)據(jù)提取。具體內(nèi)容詳情大家參考下本文
    2018-01-01
  • 利用express啟動(dòng)一個(gè)server服務(wù)的方法

    利用express啟動(dòng)一個(gè)server服務(wù)的方法

    下面小編就為大家?guī)硪黄胑xpress啟動(dòng)一個(gè)server服務(wù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • node.js中的fs.readFile方法使用說明

    node.js中的fs.readFile方法使用說明

    這篇文章主要介紹了node.js中的fs.readFile方法使用說明,本文介紹了fs.readFile的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟

    Node.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
  • 異步JavaScript編程中的Promise使用方法

    異步JavaScript編程中的Promise使用方法

    這篇文章主要介紹了異步JavaScript編程中的Promise使用方法,包含Ajax的結(jié)合操作等問題,需要的朋友可以參考下
    2015-07-07
  • 解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問題

    解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問題

    這篇文章主要介紹了解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Node卸載超詳細(xì)步驟(附圖文講解!)

    Node卸載超詳細(xì)步驟(附圖文講解!)

    由于之前的node為8.0版本,不太滿足需求,所以需要安裝高版本的node,下面這篇文章主要給大家介紹了關(guān)于Node卸載超詳細(xì)步驟的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • nodejs實(shí)現(xiàn)截取上傳視頻中一幀作為預(yù)覽圖片

    nodejs實(shí)現(xiàn)截取上傳視頻中一幀作為預(yù)覽圖片

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)截取上傳視頻中一幀作為預(yù)覽圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理實(shí)例

    NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理實(shí)例

    本篇文章主要介紹了NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論