手写分页器原创
# 手写分页器
# 定义变量
- |total |总数据|
- |pageNo |当前页|
- |pageSize |每页数据|
- |continues| 连续的页码数|
# 求值
- 总页数
- 连续页码的起始值
- 连续页码的终止值
# 分析
总页数为固定的
- 总数据量/每页数量
当前页最小为1
- 当前页取值由用户点击决定
- 取值范围为 1 ~ 总页数
- 起始页和终止页是随着当前页变化的
- 起始页最小不过1
- 终止页最大不过总页数
起始页默认为1
- 根据当前页进行变化,始终与当前页保持一个固定值
- 此固定值 根据连续页进行变化 continues/2
- 即 start = pageNo - (continues/2)
- 考虑边界值,是否可能为负数
- 当前页比固定值小时则为负数
- 如果越界则始终保持起始页为1
终止页
- 根据当前页进行变化,始终与当前页保持一个固定值
- 此固定值 根据连续页进行变化 continues/2
- 即 end = pageNo + (continues/2)
- 考虑边界值,是否可能超过总页数
- 当前页取总页数时则超过总页数
- 如果越界则始终保持终止页为总页数