此处提供了数字的起始页数字和结束页数字的计算方法
1 //构建分页起始页数字和结束页数字
//pageCount:总页数
//sideNum:每页显示的数字个数
//当前页 2 function pageNum(pageCount, sideNum, pageNum) { 3 //其实页 4 var startNum = 0; 5 //结束页 6 var endNum = 0; 7 8 if (pageCount <= sideNum) { 9 endNum = pageCount; 10 } else { 11 if ((sideNum + pageNum) >= pageCount) { 12 endNum = pageCount; 13 } else { 14 15 if ((sideNum + pageNum) <= (2 * sideNum + 1)) { 16 if ((2 * sideNum + 1) >= pageCount) { 17 endNum = pageCount; 18 } else { 19 endNum = Math.ceil(pageNum / sideNum) * sideNum; //2 * sideNum + 1; 20 } 21 } else { 22 endNum = sideNum + pageNum - 1; 23 } 24 } 25 } 26 27 if (pageNum <= sideNum) { 28 startNum = 1; 29 } else { 30 if ((pageNum + sideNum) >= pageCount) { 31 if ((2 * sideNum + 1) >= pageCount) { 32 if ((pageCount - 2 * sideNum) >= 1) { 33 startNum = pageCount - 2 * sideNum; 34 } else { 35 startNum = 1; 36 } 37 } else { 38 startNum = pageCount - sideNum + 1; 39 } 40 } else { 41 if ((pageNum - sideNum) >= 1) { 42 startNum = pageNum; 43 } else { 44 startNum = 1; 45 } 46 } 47 } 48 //创建数组实现数字分页 49 var a = new Array(); 50 51 for (var i = startNum; i <= endNum; i++) { 52 a[i] = i; 53 } 54 return a; 55 56 };
原文:http://www.cnblogs.com/hunternet/p/5021078.html