分页代码,待优化.


function convertPage(data) { var currPage = data.currentpage;//当前页码 var pageLimit = data.pagesize;//当前总共显示条数 var currSize = data.total;//当前有多少条数据 var pageNum = data.totalpage;//总共有多少页 var showNum = 10;//控制分页长度 var page = { hasNext: false, hasPrevious: false, page: currPage, pageNum: pageNum, pageRange: ['1'] }; if (page.pageNum > 1) { //如果当前第一页 if (page.page == 1) { page.hasNext = true; if (pageNum < showNum) { for(var i = 0; i < pageNum; i++) { page.pageRange[i] = i + 1 ; } } else { for(var j = 0; j < showNum - 1; j++) { page.pageRange[j] = j + 1; } page.pageRange[8] = '…'; page.pageRange.push(pageNum); } } //如果当前中间页 if (page.page != 1 && page.page != pageNum) { page.hasNext = true; page.hasPrevious = true; if (pageNum < showNum) { for(var i = 0; i < pageNum; i++) { page.pageRange[i] = i + 1 ; } } else { for(var j = 0; j < showNum - 1; j++) { page.pageRange[j] = j + 1; } if (page.page < 8) { page.pageRange[8] = '…'; } if (page.page > page.pageNum - 6) { page.pageRange[1] = '…'; for (var i = 2; i < showNum; i++) { console.log('page.pageNum - showNum + i=%d,\n i=%d', page.pageNum - showNum + i, i); page.pageRange[i] = page.pageNum - showNum + i + 1; } } if (page.page >= 8 && page.page <= page.pageNum - 6) { page.pageRange[1] = '…'; page.pageRange[2] = page.page - 2; page.pageRange[3] = page.page - 1; page.pageRange[4] = page.page; page.pageRange[5] = page.page + 1; page.pageRange[6] = page.page + 2; page.pageRange[7] = page.page + 3; page.pageRange[8] = '…'; } page.pageRange[9] = page.pageNum; } } //如果当前是最末页 if (page.page == pageNum) { page.hasNext = false; page.hasPrevious = true; if (pageNum < showNum) { for(var k = 0; k < pageNum; k++) { page.pageRange[k] = k + 1 ; } } else { page.pageRange[0] = 1; for(var o = 2; o < showNum; o++) { page.pageRange[o] = page.pageNum - showNum + o; } page.pageRange[1] = '…'; page.pageRange[10] = page.pageNum; } } } return page; }

 最终效果:

 

待完善.

 

posted @ 2014-09-19 11:45  序猿·徐  阅读(156)  评论(0编辑  收藏  举报