posts - 7,  comments - 8,  trackbacks - 0
为了显示如
<  1  2  3  4  5  6  7  8  9  10  >
这样形式的,我计划这样设计,每次显示十个页数内的链接:
在控制层分页逻辑中,我们先计算出当前显示页pageNo,总页数totalPages
首先,我们需要考虑的情况:
1、总页数totalPages;
2、确定当前有效的显示页数;
3、若当前页不是首页,使当前页数前面在满足显示十个页数链接的情况下第一页数最小为pageNo-2(总页数小于十页的情况除外);
4、总页数小于十页时的情况处理就比较简单,直接全部页链接显示;

鉴于以上情况,我们分两大情况处理:
A、总页数小于10页;
      firstPage = 1;
      lastPage = totalPages;
      然后转到视图直接输出全部页数链接
B、总页数大小10页的情况;
      1)、当pageNo+7<=totalPages时
             firstPage = pageNo-2;
             lastPage = pageNo+7;
      2)、当pageNo+7>totalPages
              这时我们就要考虑首先要满足的是当前显示的页链接是 10个,
               因此lastPage = totalPages,firstPage = totalPages-9

然后我们需要再增加一个情况,在没有首页或尾页链接的情况下显示首页(|)或尾页(>|),只需要判断firstPage ==1 和 lastPage ==totalPages

over,其实也满简单的,只要思路清晰,就不致在这样简单的逻辑中出错了;
posted on 2006-06-06 15:26 盐巴 阅读(381) 评论(0)  编辑  收藏 所属分类: 网站技术

只有注册用户登录后才能发表评论。


网站导航: