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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
MooTools 1.2介绍
Sep 14 Javascript
JSON 教程 json入门学习笔记
Sep 22 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
May 15 Javascript
JavaScript中字符串拼接的基本方法
Jul 07 Javascript
js设置文字颜色的方法示例
Dec 30 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
详解element-ui级联菜单(城市三级联动菜单)和回显问题
Oct 02 Javascript
JavaScript实现简单图片切换
Apr 29 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生成UTF8文件的方法
2010/05/15 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php DES加密算法实例分析
2019/09/18 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
机关门卫制度
2014/02/01 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
保护环境的标语
2014/06/09 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
个人党性分析材料
2014/12/19 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
SpringBoot集成Redis的思路详解
2021/10/16 Redis
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js