- 浏览: 221205 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
(原创)javascript 实现批量打印《简历》 -
liangchengfck1:
这个只能正对数据量少的批量打印,当你打印10000张数据的时候 ...
(原创)javascript 实现批量打印《简历》 -
dare_:
官网的文档明确说明 是五种 你的默认和no应该是同一种
Spring 中Bean的自动装配六种模式,你懂得几种? -
Franciswmf:
图片上传的东西呢?
java+Ckeditor -
huigou:
地址不对了
ETL Kettle发送邮件时发送失败!高手指点!
仿谷歌,百度分页计算分析
经过研究百度或谷歌分页有这样的规律:
点击第一页时
点击第二页(点2 出11)-----(点3 出12)
一直往下 (点4 出13)
直到点击第11页时(点11 出20)
点击12页(出现21 去掉 1)
是否找到规律!
百度的最多现实的页数是20页 ,那好我们以最多现实6页来进行分析!
下面进行分析:
分析:以下是以显示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
计算分析完了,是否可以用java实现啦?
代码如下:
package cn.csdn.util; import java.util.List; public class Pagination<T> { // 分页信息 private int nowpage;// 当前页 private int countrecord;// 总记录 private int countpage;// 总页数 public static final int PAGESIZE = 5;// 每页显示的记录数 private int startpage;// 页面中的起始页 private int endpage;// 页面中的结束页 private final int SHOWPAGE = 6;// 页面中显示的总页数 baidu,google显示的总页数是20 // 在测试我们才用6来测试 private List<T> allentities; private String url; /** 根据当前页及总记录数来构造分页对象 */ public Pagination(int nowpage, int countrecord) { this.nowpage = nowpage; this.countrecord = countrecord; /** 计算总页数 */ this.countpage = this.countrecord % this.PAGESIZE == 0 ? this.countrecord / this.PAGESIZE : this.countrecord / this.PAGESIZE + 1; /** 计算startpage与endpage的值 */ /** 总页数数是否小于4 */ if (this.countpage < (this.SHOWPAGE / 2 + 1)) { this.startpage = 1; // 页面中起始页就是1 this.endpage = this.countpage;// 页面中的最终页就是总页数 } else { /** else中是总页数大于4的情况 */ /** 首先当前页的值是否小于等于4 */ if (this.nowpage <= (this.SHOWPAGE / 2 + 1)) { this.startpage = 1; this.endpage = this.nowpage + 2; /** 判断页面的最终页是否大于总页数 */ if (this.endpage >= this.countpage) { this.endpage = this.countpage; } } else { this.startpage = this.nowpage - 3; this.endpage = this.nowpage + 2; if (this.endpage >= this.countpage) { this.endpage = this.countpage; if (this.countpage < this.SHOWPAGE) { this.startpage = 1; } else { this.startpage = this.endpage - 5; } } } } } public int getNowpage() { return nowpage; } public void setNowpage(int nowpage) { this.nowpage = nowpage; } public int getCountrecord() { return countrecord; } public void setCountrecord(int countrecord) { this.countrecord = countrecord; } public int getCountpage() { return countpage; } public void setCountpage(int countpage) { this.countpage = countpage; } public int getStartpage() { return startpage; } public void setStartpage(int startpage) { this.startpage = startpage; } public int getEndpage() { return endpage; } public void setEndpage(int endpage) { this.endpage = endpage; } public List<T> getAllentities() { return allentities; } public void setAllentities(List<T> allentities) { this.allentities = allentities; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }
发表评论
-
项目框架和项目架构的区别是什么?
2012-05-17 12:31 1785项目框架和项目架构的区别是什么?谁能告诉我啊! -
(原创)javascript 实现批量打印《简历》
2012-04-16 15:57 20738(原创)javascript 实现批量打印《简历》 ... -
java+Ckeditor
2012-03-23 18:09 1877CKEditor 二次开发 ---- 为 ... -
iteye 这是咋了
2012-03-23 17:45 11iteye这是咋了 发一篇文章就这么难嘛 越来越他妈的垃圾了 ... -
不查不知道 一查全知道(hibernate注解实现set集合排序)
2011-12-21 16:09 1333@ManyToMany(cascade = { Cascade ... -
《终于解决了》检索 COM 类工厂中 CLSID 为 {0002E510-0000-0000-C000-000000000046}
2011-08-24 18:23 42074异常详细信息: System.Runtime.InteropS ... -
JDK7.0语法新特性及下载
2011-08-12 17:28 27751,菱形语法(泛型实例 ... -
系统性能调优总结分享(转载)
2011-07-01 13:33 1510概述 Ø 性能优化的思 ... -
JAVA内存问题:Java heap space
2011-06-29 14:09 1903错误信息: javax.servlet.Servle ... -
Jquery从入门到精通及附件下载(一)
2011-03-30 08:15 3773Jquery从入门到精通及 ... -
Json 浅谈及解析
2011-03-25 17:07 2203Json 浅谈及解析 Json简介 ... -
Ajax 实现分页及表与表的级联
2011-03-24 20:57 1445Ajax 实现分页及表与表的级联 时间过的真快转 ... -
《神》预测本周五 java 考试题!!
2011-03-22 19:56 1208预测本周五 java 考试题!! 1,加载类有哪几 ... -
DOM总结(三)及综合案例
2011-03-17 20:59 1042DOM总结(三)及综合案例 1,DOM属性-----re ... -
DOM 总结(二)
2011-03-16 20:30 1265DOM 总结(二) 查找元素的方法: 1 ... -
DOM 总结(一)
2011-03-16 20:24 1417DOM 总结(一) ... -
javascript实现全选,反选及全不选
2011-03-15 19:53 1360javascript实现全选,反选及全部选 html 代 ... -
Java反射概念及类的反射的实例应用
2011-03-04 10:32 2302Java反射概念及类的反射的实例 一、反射的概念 : ... -
BeanUtils工具包下载及应用
2011-03-04 10:23 18648BeanUtils工具包下载及应用 ... -
“世界上最复杂的邮件”诞生了
2011-03-04 08:04 1271“世界上最复杂的邮件” ...
相关推荐
php仿谷歌百度分页源代码 代码非原创、只是做了一下修改和完善、qq:601046124 群号7391390希望和大家交流
仿百度分页代码|谷歌分页代码范例,请大家做个参考
asp 数字分页 仿百度分页 仿谷歌分页,可根据实际需要调整,带数据库。
仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释
仿google分页实例代码,很好的PHP分页代码。
JSP实现百度谷歌分页页码功能源代码 让你的网页跟百度实现一样的分页功能! 欢迎到我的博客交流探讨此类问题!
仿百度分页效果的jsp实现,maven项目完整包,包括数据库建立文件
基于jquery实现的一个仿百度搜索javascript分页插件
本文通过实例代码给大家介绍了基于vue2.0实现仿百度前端分页效果,在文中给大家记录了遇到的问题及解决方法,需要的朋友可以参考下
分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码...
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
代码中databasename 是数据库名称 tablename是表名 可更换
仿百度的分页控件风格,每次用户在10个页码中选择需要跳转到的页数。
主要介绍了java仿百度假分页代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
仿谷歌分页,分页,最简单的分页。其中包括对象的封装。
ThinkPhp仿百度分页类,在ThinkPhp3.1.3下测试通过 Author: 泡泡堂 <46445280@qq.com> 参照 ThinkPhp3.1.3 及 ThinkPhp3.2.1护展包下的 Page.class.php 说明:在ThinkPhp3.1.3下测试通过,其它版本未做测试 ...
含分页核心源代码 struts2.1 + hibernate3.3 +spring2.5 + 仿Google数字分页。
asp分页,asp分页仿百度,asp分页大全 自己整理的,可以看看啊
2.能够模拟内存的分页式分配和回收过程,可查看内存分配位示图和进程页表; 3.可根据内存分配状态进行地址转换。 4.能够模拟基于虚拟存储器的内存分配和回收过程,可查看交换空间位示图和扩 展的页表; 5.在虚拟...