UNPKG

fenzhi-utils

Version:

分值前端项目的js函数库

35 lines (33 loc) 1.33 kB
/** * 分页起始 * @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(); }