分页

作者: xueyueshuai | 来源:发表于2023-07-06 13:38 被阅读0次
function getPageNumList(totalPageCount, showBtnCount, currentPageNum) {
    showBtnCount = Math.min(totalPageCount, showBtnCount)
    currentPageNum = Math.min(totalPageCount, currentPageNum)

    let leftCount = 0;
    let rightCount = 0;

    if (showBtnCount % 2 == 0) {
      leftCount = showBtnCount / 2;
    } else {
      leftCount = (showBtnCount - 1) / 2;
    }
    rightCount = showBtnCount - leftCount - 1

    let btnNumArr = [currentPageNum]
    for (let i = 1; i <= leftCount; i++) {
      btnNumArr.unshift(currentPageNum - i)
    }
    for (let i = 1; i <= rightCount; i++) {
      btnNumArr.push(currentPageNum + i)
    }

    btnNumArr = btnNumArr.filter(v => {
      return v >= 1 && v <= totalPageCount;
    })

    let nowLeftCount = btnNumArr.filter(v => v < currentPageNum).length
    let nowRightCount = btnNumArr.filter(v => v > currentPageNum).length
    if (nowLeftCount < leftCount) {
      let lastNum = btnNumArr[btnNumArr.length - 1]
      for (let i = 1; i <= leftCount - nowLeftCount; i++) {
        btnNumArr.push(lastNum + i)
      }
    }
    if (nowRightCount < rightCount) {
      let firstNum = btnNumArr[0]
      for (let i = 1; i <= rightCount - nowRightCount; i++) {
        btnNumArr.unshift(firstNum - 1)
      }
    }
    return {
      totalPageCount,
      showBtnCount,
      currentPageNum,
      btnNumArr,
    }
  }

相关文章

  • MyBatis之分页

    五、分页 目录:使用Limit分页、RowBounds分页、分页插件 1.使用Limit分页 语法: 使用MyBa...

  • JS的分页算法

    分页的总页数算法 分页算法 分页存储过程或者页面分页中的分页算法: int pagesize // 每页记录数 i...

  • WEB页面中几种常见的分页样式

    这里谈谈WEB页面中几种常见的分页样式 分页样式一:滚动翻页image 分页样式二:常规分页image 分页样式三...

  • 目录【Java分页(前台+后台)】

    SubList分页-001-分页概述 SubList分页-002-需求 SubList分页-003-中文处理 Su...

  • SSM框架-实现Mybatis分页功能-foreknow_cms

    分页处理 分页1、前台分页2、数据库(后台)分页3、存储过程 Orade (Rownum) Mysql(lim...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • Springboot 分页

    //分页返回类 @ApiModel(value ="分页内容", description ="分页数据返回内容")...

  • 分页SQL

    分页 rownum,rowid 分页SQL

  • Java Web 之分页技术

    本文包括:1、分页技术概述2、实现分页3、完善分业——分页工具条4、几种常见的分页工具条 1、分页技术概述 物理分...

  • 代码CR之分页查询常见问题

    分页查询常见问题: 1.完全没有分页 2.分页size太大 3.超多分页慢SQL 1.完全没有分页 反例: 正例:...

网友评论

      本文标题:分页

      本文链接:https://www.haomeiwen.com/subject/bhbludtx.html