您的位置:首页 > 其它

分页之页码数量显示

2016-01-08 08:59 260 查看
javaScript页码简单算法实现, 在此留作笔记, 供以后参考

Js代码

/**

* 页码计算, 仅适用于显示奇数数量的页码

* @param size 页大小

* @param index 当前页码

* @param rowCount 总行数

* @param numCount 要显示的页码数量

* @returns {Object} pageTotal(总页数), minNum(最小页码), maxNum(最大页码)

*/

function pageCalc(size, index, rowCount, numCount, debug) {

// 1. 得到总页数

var pageTotal = parseInt((rowCount + size - 1) / size);

// 2. 得到要显示页码数量的一半

var offset = parseInt(numCount / 2);

/* 要计算偶数个数需重新计算 */

// if (!(numCount % 2)) {

// offset -= 1;

// }

// 3. 得到开始页码和结束页码

var minNum = index - offset;

var maxNum = index + offset;

// debug

if (debug) console.log({pageTotal:pageTotal, minNum:minNum, maxNum:maxNum});

// 修复较小的页码

// 4. 修复结束页码

if (minNum < 1) {

var tmp = 0 - minNum + 1 + maxNum;

minNum = 1;

maxNum = (tmp > pageTotal ? pageTotal : tmp);

}

// 5. 修复开始页码

if (maxNum > pageTotal) {

var tmp = maxNum - pageTotal;

maxNum = pageTotal;

minNum = minNum - tmp;

if (minNum < 1) {

minNum = 1;

}

}

return {

pageTotal : pageTotal,

minNum : minNum,

maxNum : maxNum

};

}

========用作参考=========
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: