fenzhi-utils
Version:
分值前端项目的js函数库
35 lines (33 loc) • 1.33 kB
JavaScript
/**
* 分页起始
* @param {number} pageSize 当前页展示的条数
* @param {number} pageNum 当前页码
* @param {number} totalCount 数据总量
* @returns {string} 数据范围
*/
/**
getPaginationString(10, 1, 100); // "1-10"
getPaginationString(20, 2, 45); // "21-40"
getPaginationString(20, 3, 45); // ""
getPaginationString(5, 3, 22); // "11-15"
getPaginationString(5, 5, 22); // "11-15"
getPaginationString(0, 2, 100); // ""
getPaginationString(10, -1, 100); // ""
getPaginationString(10, 11, 100); // ""
getPaginationString(20, 1, 10); // ""
getPaginationString(10, 0, 100); // ""
getPaginationString(10, 2, 5); // ""
*/
function getPaginationString(pageSize, pageNum, totalCount) {
if (pageSize <= 0 || pageNum <= 0 || totalCount <= 0) {
return '';
}
if (pageNum > Math.ceil(totalCount / pageSize)) return '';
var totalPages = Math.ceil(totalCount / pageSize); // 计算总页数
// 确保pageNum在有效范围内(1到totalPages之间)
pageNum = Math.max(1, Math.min(pageNum, totalPages));
// 计算当前页面上第一条记录和最后一条记录的索引
var startIndex = (pageNum - 1) * pageSize;
var endIndex = Math.min(startIndex + pageSize - 1, totalCount - 1);
return (startIndex + 1).toString() + '-' + (endIndex + 1).toString();
}