js 实现分页按钮的显示

// total 总数
      // size  条数
      // page  页码
      // butCount 数组长度
      function fn(total, size, page, btnCount) {
        let arr = new Array(btnCount).fill(1) // 初始化一个数组
        const sum = Math.ceil(total / size) // 总页数
        const zj = Math.ceil(btnCount / 2) // 临界值
        // console.log(sum)
        // 分三种情况
        // 1. page < 3
        // 2. page > 3
        // 3. page > sum - 2
        if (page <= zj) {
          // 小于临界值
          let x = 0
          arr = arr = arr.map((item) => {
            console.log(x)
            x++
            return (item = x)
          })
        } else if (page > sum - zj) {
          // 大于临界值
          let x = sum + 1
          arr = arr = arr
            .map((item) => {
              console.log(x)
              x--
              return (item = x)
            })
            .reverse()
        } else if (page > zj && page <= sum - zj + 1) {
          let x = page - zj
          arr = arr = arr.map((item) => {
            console.log(x)
            x++
            return (item = x)
          })
        }
        return arr
      }
复制代码
console.log(fn(100, 10, 1, 5)) // ==> [1, 2, 3, 4, 5]
console.log(fn(100, 10, 7, 5)) // ==> [5, 6, 7, 8, 9]
console.log(fn(100, 10, 2, 5)) // ==> [1, 2, 3, 4, 5]
console.log(fn(100, 10, 5, 5)) // ==> [3, 4, 5, 6, 7]
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享