现状:
![]()
1. 每次分页都需要查出记录的总数,耗性能
2. 分页中每项内容是否必须,是否可以后加载
3. 对于系统类网站,用户一般不关心业务的数字,他们主要的聚集点是“上一页”和“下一页”两个按钮(待调研)
4. 绝大部分的用户不关心总数量、不会使用“跳到第几页”功能(待调研)
方案:
1. 在页面中不显示总页数,只有“上一页”、“下一页”功能(基本功能)
2. 在查记录时,多差一条来判断是否有下一页,提高用户体验(拓展功能)注:可以在控件内操作,查询的时候size+1,输出的时候list中size-1
3. 记录用户点到的最大的页码数,在此页码数之内则不作校验;如果超过,则可以提供最大页码数的校验(拓展功能)
4. 只在第一次的时候即搜索第一页的时候,初始化最大页
结论:
1. 提供“上一页”、“下一页”以及“已确认的最大页码数内的页码”按钮
2. 查询的时候多查询一条,以确定是否有下一页
3. 如果查询数据超过“已确认的最大页码数内的页码”,则进行总数的查询
目前分页的种类:
1. 只有上一页和下一页功能(最基本)
2. 上一页、下一页、跳转页(传统)
3. 下拉刷新(最新)
4. 下拉刷新加(上一页和下一页),(微博已经提供很好地解决方案)
具体编码想法:
1. getSize(){
return size+1}
2. getList{
return list(size-1)}
3. 使用接口,接口内判断是否需要判断总页码
问题:
1. 如何判断搜索条件是否变化(目前的情况是更改搜索条件则重置分页)
2. 在操作下一页时有新的数据加入(对于像微博这种数据更新比较快的网站),游标的实现方法,具体http://timyang.net/web/pagination/
收集的关于新浪微博的分页的一些资料
1.你永远都点不到页脚那些信息了。页脚信息还是很重要的,那么多信息如果点不到你放哪里呢?2.快速跳转,往前翻找微博你想一条一条往下找么?3.下面的广告你知道值多少钱么。。。虽然新浪下面没广告。。。。4.对于前端来说,一直在一个页面加载来加载去对性能不太好,经常翻翻页更健康。(可以做回收,这样变得更复杂了,没见过有人处理无限下拉的回收和恢复功能。)5.一直往下滑,鼠标一直是滑的动作,划一会就累了。。。翻页可以让你的动作变一下同时歇一歇。。。。6.lx补充