最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs分頁(yè)類代碼分享

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

分頁(yè)類,我放在 plugin/Paginate.js

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

/**
 * 分頁(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;

使用例子

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

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

相關(guān)文章

最新評(píng)論

铜山县| 玉环县| 阿克| 武功县| 临西县| 侯马市| 杭州市| 左云县| 和田县| 武鸣县| 平阳县| 临西县| 鲁甸县| 永丰县| 涡阳县| 和静县| 虞城县| 遵化市| 大足县| 密山市| 改则县| 马鞍山市| 秦皇岛市| 得荣县| 溧阳市| 增城市| 阿鲁科尔沁旗| 桐乡市| 横山县| 漠河县| 临澧县| 井陉县| 罗山县| 平塘县| 尼勒克县| 樟树市| 灵寿县| 砀山县| 汕头市| 尼木县| 元氏县|