分页

作者: 毛尖哥 | 来源:发表于2018-05-16 16:27 被阅读18次

网页版分页功能的实现

 

前段时间在写页面的时候涉及到了分页功能,因为从网上引用别人的框架可定制性不强。想着逻辑不难,索性自己写了一个,在此记录一下。

直接上效果:

使用方法:

第一步:在需要使用分页功能的html文件中引入css,js

第二步:在html文件中,在需要添加分页功能的表格后面添加ul

第三步:在js中实现下面函数

//总页数:传服务端分页接口中的总页数ty_dealPaging(总页数,function(currentPage){/* 分页点击时会响应此回调函数,

    currentPage :当前点击的页码 */});

到此,分页的功能就实现了。

浅析下实现逻辑:

我把实现分页功能的js,css从项目中分离了出来,半路出家的我在此不敢称对此功能块进行了封装,就是抽离了出来,降低代码耦合性。

我把文件命名为ty_开头,原因很简单。ty是我公司的缩写,这样定义文件名、func名、参数名等,是为了防止与其他文件、函数、全局变量等重名,带来不必要的麻烦。

在ty_paging.js文件中,我定义了一个全局变量

ty_currentPage,只需要给ty_currentPage赋值,就可让其选中对应的分页码,方便还原初始状态。

如:

ty_currentPage = 1;

在需要还原初始状态的地方给该变量赋值为1

在ty_paging.js文件中定义了一个onePageMaxCount变量,只需改变其值即可决定一页最多显示的分页码,我的网页中为5页。

整个分页的核心逻辑也就下面这段代码,不管总页数有多少页,我们只需要处理好展示在网页上的这5个页码的规律,也就能解决所有的问题了。

//定义2个参数记录网页上展示的起点和终点页数varstartIndex =1,//起始分页数endIndex = maxPage;//结束分页数//此处要分几种情况处理:1.总页数 <= 一页能展示的分页数2.总页数  > 一页能展示的分页数2.1当前选中页 <= 一页能展示的分页数的一半(大方向取整)2.2当前选中页  > 一页能展示的分页数的一半(大方向取整)2.2.1如果选中最后几页,起始位置和终点是固定不变的if(maxPage <= onePageMaxCount) {//一页能显示下分页数量startIndex =1;  endIndex = maxPage;}else{if(ty_currentPage <=Math.ceil(onePageMaxCount/2)) {    startIndex =1;    endIndex = onePageMaxCount;  }else{//起始、终点位置逻辑推导startIndex = ty_currentPage - (Math.ceil(onePageMaxCount/2)-1);    endIndex = ty_currentPage + (Math.ceil(onePageMaxCount/2)-1);if(endIndex > maxPage) {      endIndex = maxPage;      startIndex = maxPage - (onePageMaxCount-1);    }  }}

其他代码是对样式、事件等的处理,文件中备注的也算清楚,一目了然。有需要查看完整分页代码的可以在gitHub上download下来。

相关文章

  • MyBatis之分页

    五、分页 目录:使用Limit分页、RowBounds分页、分页插件 1.使用Limit分页 语法: 使用MyBa...

  • JS的分页算法

    分页的总页数算法 分页算法 分页存储过程或者页面分页中的分页算法: int pagesize // 每页记录数 i...

  • WEB页面中几种常见的分页样式

    这里谈谈WEB页面中几种常见的分页样式 分页样式一:滚动翻页image 分页样式二:常规分页image 分页样式三...

  • 目录【Java分页(前台+后台)】

    SubList分页-001-分页概述 SubList分页-002-需求 SubList分页-003-中文处理 Su...

  • SSM框架-实现Mybatis分页功能-foreknow_cms

    分页处理 分页1、前台分页2、数据库(后台)分页3、存储过程 Orade (Rownum) Mysql(lim...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • Springboot 分页

    //分页返回类 @ApiModel(value ="分页内容", description ="分页数据返回内容")...

  • 分页SQL

    分页 rownum,rowid 分页SQL

  • Java Web 之分页技术

    本文包括:1、分页技术概述2、实现分页3、完善分业——分页工具条4、几种常见的分页工具条 1、分页技术概述 物理分...

  • 代码CR之分页查询常见问题

    分页查询常见问题: 1.完全没有分页 2.分页size太大 3.超多分页慢SQL 1.完全没有分页 反例: 正例:...

网友评论

      本文标题:分页

      本文链接:https://www.haomeiwen.com/subject/xjmzrftx.html