`
Longmanfei
  • 浏览: 48089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

仿谷歌分页的“兔”种算法(上)

阅读更多

首先我们来分析一下谷歌分页的实现,根据是实现来计算出他的算法,我们在这里呢,只实现每屏最大显示数据位六页:如                                    

                                                   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   

      1.首先我们先实现开始时显示三页并且当前页不可点击,当点击第二页是出现第四页以此类推        从上图得知 当前页小于等于4时  起始页为1  末页=当前页+2

startindex=1;//为每屏显示的页数的起始索引 endindex=nowpage+2;;//为每屏显示的页数的结束索引,nowpage当然就是当前页了

注意: 求和值后的endindex 如果endindex大于总页数

那么: this.endindex=this.countpage;

当点击第2页的时候的效果

 当点击第3页时

 当点击第4页时我们出来第六页,好现在已经是每屏显示的最大条数(假如我们现在的总页数超过六页那么我们看第5页)

那么当超过最大显示页数时,是什么样的呢,我们先分析一下

 

当大于4时

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
 

从试图当中我们不难看出这其中的规律,所以借下来我我们要实现的功能如图

 

这是第5页的现实效果,现在我们可一看到当总页数大于每屏最大显示条数时,前面的第一页就消失了

 那么当总最后不足以显示6页的时候呢,好,那么我们就从最后一页开始回显6条,如图

 

    承接上一篇博客

2.那么下面我们就按照上面的分析,来完成实现的算法 首先我们先分析一下分页用到的变量我们首先要定当前页,还有总记录数和以及每页显示条数和每屏的开始索引和结束索引,以及总的页数,和要查询当前页的信息,以及每屏显示的最大页数值 定义好了这些下面我们就写我们的算法

//这是关于分页的逻辑计算,算法多多营养多多

if(endindex>lastPage){

endindex=lastPage;//其中endiex是索引结束,lastPage//是总的页数 }if(nowPage<=4&&nowPage+2<=lastPage){ endindex=nowPage+2;//nowPage代表当前页 }if(nowPage>4&&nowPage+2<=lastPage){ startindex=nowPage-3; endindex=nowPage+2; }if(nowPage>4&&nowPage+2>lastPage&&nowPage>=6){ endindex=lastPage; startindex=lastPage-5; }

if(lastPage<=6){//这里的6当然就是每屏显示的最多页数了,当然可以根据自己的喜好改变也数那就要改变算法了

if(nowPage>=3)

endindex=nowPage+2>lastPage?lastPage:nowPage+2;

}

 


3.承接上文写一篇薄竟然要我分散份写,有么有搞错,莫非我真的out了嘛 下面我们要说的就是如何实现当点击某页的时候连接就变成红色并且不能再点,其实这个很简单的啦,只要用标签去控制连接就可以了,那么下面我们就具体操作一下 我想大家对这个都不算陌生吧,就是判断点击的页数是不是当前页如果是,就不显连接并变成红色,反之···

<c:forEach begin="${startindex}" end="${endindex}" var="ph">

<c:choose>

<c:when test="${nowPage==ph}"> <a><font color="red"><span>${ph}</span></font></a> </c:when>

<c:otherwise>

<a href="${pageContext.request.contextPath}/studentServlet2?nowPage=${ph}">[<span>${ph}</span>]</a>

</c:otherwise>

</c:choose>

</c:forEach>

好,以上就是仿谷歌分页的“兔”种算法(一)希望能给大家带来点点帮助 在这夜深人静的时刻,我们敲着代码,让灵感飞一会,其实我们敲得不是寂寞,是网络 在仿谷歌分页的“兔”种算法(二),我们将把page封装,并且实现输入想要查看的页 数,然后页面跳转功能 菜菜~~~暴走中~~~未完待续······

  • 大小: 3.8 KB
  • 大小: 4 KB
  • 大小: 4.5 KB
  • 大小: 3.7 KB
  • 大小: 4.7 KB
  • 大小: 3.2 KB
0
3
分享到:
评论

相关推荐

    模拟仿真请求分页调度算法

    本文将深入探讨模拟仿真请求分页调度算法,包括OPT(最佳页面替换算法)、FIFO(先进先出)、LRU(最近最少使用)、LFU(最不常用)以及CLOCK(时钟)这五种常见的算法,并介绍如何利用MFC(Microsoft Foundation ...

    asp 数字分页 仿百度分页 仿谷歌分页

    "asp 数字分页 仿百度分页 仿谷歌分页"这个项目的目标是实现一个与百度和谷歌分页样式类似的分页功能,同时具备数据库连接能力。 首先,我们来看`index.asp`,这是网站的主入口文件,通常包含了整个应用的逻辑控制...

    仿谷歌分页,仿谷歌分页,分页,最简单的分页

    谷歌分页的特点是简洁明了,只显示主要的页码,同时提供“上一页”、“下一页”按钮和跳转至指定页的功能。前端需要与后端通过Ajax通信,获取数据并动态更新页面。 4. 用户交互:当用户点击分页按钮时,触发事件,...

    仿google分页完整代码

    在网页开发中,分页是一种常见的数据展示方式,特别是在数据量较大的情况下,为了提高用户体验,避免一次性加载所有数据导致页面加载速度慢或者浏览器卡顿。本案例提供的“仿Google分页完整代码”就是一个PHP实现的...

    仿百度分页代码 谷歌分页代码

    标题与描述中的“仿百度分页代码 谷歌分页代码”主要涉及的是网站开发中常见的分页功能实现。在大数据量的处理场景下,为了提升用户体验和服务器性能,分页显示数据成为了一种常见且必要的技术手段。本文将详细解析...

    仿google分页效果

    在本项目中,我们主要探讨的是如何实现"仿Google分页效果",并结合了表格隔行变色的视觉优化。这个项目的核心在于利用Ajax技术动态加载数据,以模拟Google搜索结果页面的分页功能,同时对展示数据的表格进行美化,...

    jsp仿百度、谷歌分页解决分页太多,始终显示一部分的页码

    本文将深入探讨如何使用JavaScript和jQuery实现一个类似百度、谷歌的智能分页解决方案,解决分页数量过多导致用户界面拥挤的问题。 首先,我们需要理解分页的基本原理。分页通常涉及到两个关键参数:每页显示的条目...

    LFU算法仿真请求分页系统

    采用近期最少使用(LFU)算法仿真请求分页系统 1. 设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。 2. 设计要求: 1, 实现请求分页存储管理方式的页面置换算法:近期最少使用算法(LFU...

    仿淘宝分页按钮效果简单美观易实用当分页JS控件

    本文将深入探讨“仿淘宝分页按钮效果简单美观易实用当分页JS控件”,并围绕相关标签——分页控件、js分页控件、分页按钮算法以及分页算法进行详尽的解释。 首先,我们要理解“分页控件”的概念。分页控件是网页应用...

    php仿谷歌分页类.zip

    PHP通用分页类(仿Google样式)。本代码是用于分页用的,只需提供记录总数与每页显示数两个参数,无需指定URL,链接由程序生成。方便用于检索结果分页,表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,...

    分页存储算法实现

    本文将详细讨论四种常见的分页存储算法:最佳置换算法(OPT)、先进先出算法(FIFO)、最近最久未用算法(LRU)以及简单Clock置换算法。 1. **最佳置换算法(OPT)**: 这是一种理论上的理想算法,它能预测未来,...

    课程设计:采用clock置换算法仿真请求分页系统.pdf

    课程设计:采用clock置换算法仿真请求分页系统 课程设计:采用clock置换算法仿真请求分页系统.pdf主要讲述了计算机操作系统中请求分页系统的设计和实现,特别是采用clock置换算法来提高内存利用率和系统性能。 在...

    课程设计:采用lfu算法仿真请求分页系统.doc

    LFU算法是近期最少使用算法,它是一种页面置换算法,以便在内存中释放空间。 在LFU算法中,系统会记录每个页面的使用频率,并将最少使用的页面作为淘汰页。这样可以提高系统的性能和效率。LFU算法模块的功能是记录...

    jsp分页技术算法jsp分页技术算法

    **jsp分页技术算法详解** 在Web开发中,分页技术是必不可少的,尤其是在处理大量数据展示时。JSP(JavaServer Pages)作为Java的一种视图技术,提供了强大的功能来实现用户界面的动态生成。本篇文章将深入探讨JSP中...

    仿google分页,ajax无刷新技术,附数据库

    "仿Google分页"指的是借鉴Google搜索引擎的高效分页设计,它允许用户在不重新加载整个页面的情况下浏览不同页的数据。这种技术通过AJAX(异步JavaScript和XML)实现,提供了流畅且高效的浏览体验。 首先,我们来...

    java仿百度分页

    综上所述,"java仿百度分页"是Java Web开发中的一个重要实践,它涉及到自定义标签库的使用、JavaBean和Action的交互、分页算法的实现以及前端展示等多个环节。通过这样的分页机制,我们可以构建出高效、友好的数据...

    动态分页算法java代码

    动态分页算法是数据库系统和Web应用中常用的一种技术,用于高效地处理大量数据并以分页的形式展示给用户。在Java开发中,实现动态分页通常涉及到对数据集的切片操作,以便只加载用户请求的部分数据。下面将详细阐述...

    操作系统实验2 分页置换算法

    在这个实验中,你需要使用C++编程语言来实现这两种算法。C++是一种通用的、面向对象的编程语言,具有高效性和灵活性,适合处理这种系统级别的任务。通过编写代码,你将深入理解分页置换算法的工作原理,以及它们在...

    高效struts分页算法

    Struts分页算法是Web应用开发中的重要组成部分,特别是在大型数据集展示时,为了提高用户体验,需要将数据分页展示。本算法遵循Model-View-Controller(MVC)设计模式,使得代码结构清晰,易于维护。 在Struts框架...

Global site tag (gtag.js) - Google Analytics