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 相关文章推荐
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 Javascript
javascript实现图片循环渐显播放的方法
Feb 24 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
jquery判断至少有一个checkbox被选中的方法
Jun 05 Javascript
JS+CSS实现滑动切换tab菜单效果
Aug 25 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
详谈jQuery.load()和Jsp的include的区别
Apr 12 jQuery
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 Javascript
JQuery样式与属性设置方法分析
Dec 07 jQuery
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 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
isset和empty的区别
2007/01/15 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PDO::errorCode讲解
2019/01/28 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
一些网络技术方面的面试题
2014/05/01 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
陈欧广告词
2014/03/14 职场文书
525心理活动总结
2014/07/04 职场文书
2015年导购员工作总结
2015/04/25 职场文书
荒岛余生观后感
2015/06/09 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL