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 相关文章推荐
JavaScript中的Location地址对象
Jan 16 Javascript
jquery实现动态菜单的实例代码
Nov 28 Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 Javascript
node.js中的fs.symlink方法使用说明
Dec 15 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
Node.js中的child_process模块详解
Jun 08 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
JS使用对象的defineProperty进行变量监控操作示例
Feb 02 Javascript
Layui实现带查询条件的分页
Jul 27 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
纯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模板页面中分页代码的解析
2009/02/06 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
django之session与分页(实例讲解)
2017/11/13 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
python打印异常信息的两种实现方式
2019/12/24 Python
阿里旅行:飞猪
2017/01/05 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
什么是抽象
2015/12/13 面试题
高一新生军训方案
2014/05/12 职场文书
忠诚教育心得体会
2014/09/03 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
自主招生英文自荐信
2015/03/25 职场文书
宇宙与人观后感
2015/06/05 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
聊聊JS ES6中的解构
2021/04/29 Javascript
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技