js实现前端分页页码管理


Posted in Javascript onJanuary 06, 2017

用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评!

首先先看效果图:

这是初始页面(也就是第一页)的界面,如果为第一页时,则首页和上一页按钮不可用,为了展示分页的效果,我当前的分页是一条一页

js实现前端分页页码管理

这是页码大于5页时展示的效果:1,2页始终始终显示(考虑到用户体验)

js实现前端分页页码管理

这是最后一页的效果图:

js实现前端分页页码管理

下面直接上js代码:

//页码显示
 $(function(){
  var dqPage = $("#dqPage").text();//得到当前页数
  dqPage = parseInt(dqPage);//得到的文本转成int
  var pageCount = $("#pageCount").text();//得到总页数
  pageCount = parseInt(pageCount);
  var i = 1;
  i = parseInt(i);
  var item="";
  var href = "这里是请求地址";
  if (pageCount <= 5 ) {//总页数小于五页,则加载所有页
  for (i; i <= pageCount; i++) {
   if (i == dqPage) {
   item += "<span class='disabled'>"+i+"</span>"; 
   }else{
   item += "<a href='"+href+i+"' >"+i+"</a>"; 
   }
  };
  $('#pageBtn').append(item);
  return;
  }else if (pageCount > 5) {//总页数大于五页,则加载五页
  if (dqPage < 5) {//当前页小于5,加载1-5页
   for (i; i <= 5; i++) {
   if (i == dqPage) {
    item += "<span class='disabled'>"+i+"</span>"; 
   }else{
    item += "<a href='"+href+i+"' >"+i+"</a>"; 
   }
   };
   if (dqPage <= pageCount-2) {//最后一页追加“...”代表省略的页
   item += "<span> . . . </span>";
   }
   $('#pageBtn').append(item);
   return;
  }else if (dqPage >= 5) {//当前页大于5页
   for (i; i <= 2; i++) {//1,2页码始终显示
   item += "<a href='"+href+i+"' >"+i+"</a>"; 
   }
   item += "<span> . . . </span>";//2页码后面用...代替部分未显示的页码
   if (dqPage+1 == pageCount) {//当前页+1等于总页码
   for(i = dqPage-1; i <= pageCount; i++){//“...”后面跟三个页码当前页居中显示
    if (i == dqPage) {
    item += "<span class='disabled'>"+i+"</span>"; 
    }else{
    item += "<a href='"+href+i+"' >"+i+"</a>"; 
    }
   }
   }else if (dqPage == pageCount) {//当前页数等于总页数则是最后一页页码显示在最后
   for(i = dqPage-2; i <= pageCount; i++){//...后面跟三个页码当前页居中显示
    if (i == dqPage) {
    item += "<span class='disabled'>"+i+"</span>"; 
    }else{
    item += "<a href='"+href+i+"' >"+i+"</a>"; 
    }
   }
   }else{//当前页小于总页数,则最后一页后面跟...
   for(i = dqPage-1; i <= dqPage+1; i++){//dqPage+1页后面...
    if (i == dqPage) {
    item += "<span class='disabled'>"+i+"</span>"; 
    }else{
    item += "<a href='"+href+i+"' >"+i+"</a>"; 
    }
   }
   item += "<span> . . . </span>";
   }
   $('#pageBtn').append(item);
   return;
  }
  }
 });
<%-- 得到当前页--%>
<span id="dqPage" hidden="hidden" class="disabled1 current">${page}</span>
<%-- js控制的页码显示在这个div中--%>
<div id="pageBtn" style="width: auto;display:inline-block !important;height: auto;">
</div>

这是实现js控制页码显示的所有步骤,可能有点麻烦,后续会继续优化,当然现在网上也有很多分页插件,全凭个人喜好。

至于 “首页,上一页,下一页,末页,以及跳转页,这些就看各自的需求实现了(我是用el表达式控制的)”

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
ExtJs GridPanel简单的增删改实现代码
Aug 26 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
JavaScript中的apply和call函数详解
Jul 20 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
jqTransform美化表单
Oct 10 Javascript
angularJS 如何读写缓冲的方法(推荐)
Aug 06 Javascript
简单理解vue中track-by属性
Oct 26 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
vue跨域解决方法
Oct 15 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
JS实现可控制的进度条
Mar 25 Javascript
纯js实现倒计时功能
Jan 06 #Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
Jan 06 #Javascript
微信小程序开发教程-手势解锁实例
Jan 06 #Javascript
jQuery ajax的功能实现方法详解
Jan 06 #Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
Jan 06 #Javascript
Jqprint实现页面打印
Jan 06 #Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
Jan 06 #Javascript
You might like
php实现下载限制速度示例分享
2014/02/13 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
VBScript版代码高亮
2006/06/26 Javascript
Javascript中暂停功能的实现代码
2007/03/04 Javascript
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
python求列表交集的方法汇总
2014/11/10 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python中安装easy_install的方法
2018/11/18 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
python dict如何定义
2020/09/02 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
班级出游活动计划书
2014/08/15 职场文书
科学育儿宣传标语
2014/10/08 职场文书
2015年库房工作总结
2015/04/30 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android