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 相关文章推荐
JQuery 学习笔记 element属性控制
Jul 23 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
Jan 24 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
javascript 闭包详解
Feb 15 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
Bootstrap菜单按钮及导航实例解析
Sep 09 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
JS实现随机抽选获奖者
Nov 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
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
如何将python中的List转化成dictionary
2016/08/15 Python
详解python之简单主机批量管理工具
2017/01/27 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
python函数的万能参数传参详解
2019/07/26 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
python解析yaml文件过程详解
2019/08/30 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
综合办公室主任职责
2013/12/16 职场文书
企业管理部经理岗位职责
2013/12/24 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
财务负责人岗位职责
2015/02/03 职场文书
清洁工个人工作总结
2015/03/05 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
Linux中如何安装并部署Redis
2022/04/18 Servers