仿百度、google分页的实现
?
?????? 前段时间写了个仿百度、google分页,现在和大家分享一下。大家有什么问题可以和我交流。
??? 首先我们分析一下google的分页情况:(百度也是一样的,这里只写google的情况)
?
??? 下面给出大家一段java代码,好让大家往下容易理解。
?
当前页是1????????显示的是:?1 2 3 4 5 6 7 8 9 10
?

当前页是2???? 起始值1? 未页 11 ?
?
?
?
?
?当前页是3???? 起始值1? 未页 12

?
?
?当前页是4???? 起始值1? 未页 13
?
以此类推:...
?
从上图得知:
?
?? ?当前页小于等于11时? 起始页为1? 末页=当前页+9
?
?
- ?
??????????? 当前页是12??????? 起始值是2??? 未页 21
?
?
?
?
??????????? 当前页是13??????? 起始值是3??? 未页 22
?

?
???????????? 当前页是14??????? 起始值是4?? 未页 23
?
从上图得知 当前页大于11时?
?? 1.当前页与尾页的差少9??? 开始索引与当前页 差10?
?
?
- ?
- ?
- ?
- //?计算索引位置 ??if?(this.nowpage?<=?sumindex/2+1)?{ ?? ????this.startindex?=?1; ?? ????this.endindex?=?this.nowpage?+?sumindex/2-1; ?? ???????????? ??????//当结束的索引值>总页数 ?? ????if(this.endindex>this.countpage){ ?? ????????this.endindex=this.countpage; ?? ????} ??}else?if(this.nowpage>sumindex/2+1){ ?? ????this.startindex=this.nowpage-sumindex/2; ?? ????????????this.endindex=this.nowpage+sumindex/2-1;???? ?? ????//当结束的索引值>总页数 ?? ????//当结束的索引值>索引的sum值?代表的是?google页面中最大显示页数 ?? ????if?? (this.endindex>this.countpage&&this.endindex>this.sumindex){ ?? ????????????????this.endindex=this.countpage; ?? ????????????????this.startindex=this.countpage-sumindex-1; ?? ????} ??????//当结束的索引值<索引的sum值?代表的是?google页面中最大显示页数 ?? ????if(this.endindex<this.sumindex){ ?? ????this.startindex?=?1; ?? ????this.endindex?=?this.countpage; ?? ????????????????} ??}??