仿谷歌,百度分页 计算分析

本文详细解析了一种分页导航算法的设计思路与实现细节。针对不同页面情况,介绍了如何确定起始页和末页的计算规则,适用于各种分页场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分析:以下是以显示6个数页 为参考

1 2 3                 当前页是1    1 2 3
 
1 2 3 4               当前页是2     起始值1  未页 4

1 2 3 4 5             当前页是3     起始值1  未页 5

1 2 3 4 5 6           当前页是4     起始值1  未页 6   

从上图得知 当前页小于等于4时  起始页为1  末页=当前页+2

startindex=1;
endindex=nowpage+2;

 

 

2 3 4 5 6 7         当前页是5        起始值是2    未页 7
3 4 5 6 7 8         当前页是6        起始值是3    未页 8
4 5 6 7 8 9         当前页是7        起始值是4    未页 9
5 6 7 8 9 10        当前页是8        起始值是5    未页 10

从上图得知 当前页大于4时  (包括4)

   1.当前页与尾页的差少于2 
            endindex=nowpage+2;
            startindex=nowapge-3; 

 

    1.如果总页数在6页以上(包括6),起始页固定为尾页数过来第5个
            分析: 索引值endindex=lastpage
                   startindex=lastpage -5;

    2.总页数小于6,起始页固定为1  末页 lastpage
          startindex=1;
          endindex=lastpage;


  2.正常情况,起始页为当前页-2
            endindex=nowpage+2;
            startindex=nowapge-3; 

 

对于末页,即显示的最后一个页码

1.如果当前页小于4

  1.如果总页数比6要大,末页为6
      nowpage<4;
      lastpage>6
          startindex=1;
          endindex=6;

  

  2.比6小,末页为尾页
       nowpage<4;
      lastpage<6
          startindex=1;
          endindex=lastpage;


2.当前页大于4

  1.当前页与尾页差小于2,末页为尾页
      startindex=nowpage-3;
      if(nowpage+2>lastpage){ endindex=lastpage}else{endindex= nowpage+2;}

  2.否则末页为当前页+2

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值