JavaScript小应用之分页算法

阅读更多
效果图:

JavaScript小应用之分页算法_第1张图片



function getPagination(curPage, pagesize, count) {
    var total = Math.ceil(count/pagesize);
    if (curPage > total) curPage = total;

    var pl = curPage; // pager left  
    var cur_item = "" + pl + "";  
    var nl = 0; // number left  
    while(--pl > 0){  
        cur_item = "" + pl +"" + cur_item;  
        nl++;  
        if(nl >= 2 && pl > 3){ 
            cur_item = "1" + "..." + cur_item;  
            break;  
        }  
    }  

    var pr = curPage; // pager right  
    var nr = 0; // number right
    var mcb = 5; // max continuously button
    while(++pr <= total){  
        cur_item = cur_item + "" + pr +"";  
        nr++;  
        if( (1 + nl + nr) >= mcb && pr < (total -1 )){  
            cur_item = cur_item + "..." + "" + total + "";  
            break;  
        }  
    }  
      
    return cur_item;  
}

console.log(getPagination(1, 10, 8));

console.log(getPagination(1, 10, 18));

console.log(getPagination(4, 10, 188));

console.log(getPagination(8, 10, 188));

console.log(getPagination(17, 10, 188));




测试:


var curPage = 1, pagesize = 8, count = 38;
// 12345

var curPage = 2, pagesize = 8, count = 38;
// 12345

var curPage = 5, pagesize = 8, count = 38;
// 12345



var curPage = 5, pagesize = 8, count = 200;
// 123456...25

var curPage = 10, pagesize = 8, count = 200;
// 1...89101112...25














-


http://www.frontsurf.com/company/news?page=2

-
  • JavaScript小应用之分页算法_第2张图片
  • 大小: 2.4 KB
  • 查看图片附件

你可能感兴趣的:(javascript,分页,插件)