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 面向对象编程 聊聊对象的事
Sep 17 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
Jan 06 Javascript
浅说js变量
May 25 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
原生JS和JQuery动态添加、删除表格行的方法
May 28 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
js评分组件使用详解
Jun 06 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
原生JavaScript实现换肤
Feb 19 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
简单的js表单验证函数
2013/10/28 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
Python sys.path详细介绍
2013/10/17 Python
Python Matplotlib库入门指南
2015/05/18 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python3 合并二叉树的实现
2019/09/30 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
Python列表操作方法详解
2020/02/09 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
刘公岛导游词
2015/02/05 职场文书
河童之夏观后感
2015/06/11 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
Nginx进程调度问题详解
2021/09/25 Servers
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android