仿百度、google分页的实现
前段时间写了个仿百度、google分页,现在和大家分享一下。大家有什么问题可以和我交流。
首先我们分析一下google的分页情况:(百度也是一样的,这里只写google的情况)
下面给出大家一段java代码,好让大家往下容易理解。
// 当前页
private int nowpage;
// 索引的sum值 代表的是 google页面中最大显示页数
private int sumindex = 20;
// 开始的索引值
private int startindex;
// 结束的索引值
private int endindex;
当前页是1 显示的是: 1 2 3 4 5 6 7 8 9 10
当前页是2 起始值1 未页 11
当前页是3 起始值1 未页 12
当前页是4 起始值1 未页 13
以此类推:...
从上图得知:
当前页小于等于11时 起始页为1 末页=当前页+9
startindex=1;
endindex=nowpage+9;
注意:
求和值后的endindex 如果endindex大于总页数。 那么: this.endindex=this.countpage;
实现方式如下:
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;
}
}
当前页大于11时:
当前页是12 起始值是2 未页 21
当前页是13 起始值是3 未页 22
当前页是14 起始值是4 未页 23
从上图得知 当前页大于11时
1.当前页与尾页的差少9 开始索引与当前页 差10
endindex=nowpage+sumindex/2-1;
startindex=nowapge-sumindex/2;
注意:求和值后的endindex,如果endindex大于总页数
this.endindex=this.countpage;
this.startindex=this.countpage-sumindex/-1;
实现代码如下:
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;
}
}
整合后的代码如下:
// 计算索引位置
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;
}
}
备注:
别的代码没贴,如需要大家可以给我留言
分享到:
相关推荐
仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释
asp 数字分页 仿百度分页 仿谷歌分页,可根据实际需要调整,带数据库。
仿百度分页代码|谷歌分页代码范例,请大家做个参考
基于jquery实现的一个仿百度搜索javascript分页插件
php仿谷歌百度分页源代码 代码非原创、只是做了一下修改和完善、qq:601046124 群号7391390希望和大家交流
仿百度的分页控件风格,每次用户在10个页码中选择需要跳转到的页数。
仿百度分页效果的jsp实现,maven项目完整包,包括数据库建立文件
JSP实现百度谷歌分页页码功能源代码 让你的网页跟百度实现一样的分页功能! 欢迎到我的博客交流探讨此类问题!
代码简介:jQuery仿百度经验分页阅读特效是一款带左右箭头切换的图文幻灯片预览效果代码。
仿谷歌分页,分页,最简单的分页。其中包括对象的封装。
仿google分页实例代码,很好的PHP分页代码。
asp分页,asp分页仿百度,asp分页大全 自己整理的,可以看看啊
ThinkPhp仿百度分页类,在ThinkPhp3.1.3下测试通过 Author: 泡泡堂 <46445280@qq.com> 参照 ThinkPhp3.1.3 及 ThinkPhp3.2.1护展包下的 Page.class.php 说明:在ThinkPhp3.1.3下测试通过,其它版本未做测试 ...
本文通过实例代码给大家介绍了基于vue2.0实现仿百度前端分页效果,在文中给大家记录了遇到的问题及解决方法,需要的朋友可以参考下
java仿百度分页,全部写好封装jar吧,里面带源码。 在Action中只需调用传入一个List,在前台页面引入自定义标签。就可以使用了。操作简单。使用方便。
主要介绍了java仿百度假分页代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
ASP.NET2.0中datalist仿百度分页ASP.NET2.0中datalist仿百度分页
JSP实现类似百度,google的分页.JSP,仿,google,分页,servlet分页
带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...