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 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
通过修改referer下载文件的方法
May 11 Javascript
js切换光标示例代码
Oct 10 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
Feb 28 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
VUE 使用中踩过的坑
Feb 08 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
JS数组方法shift()、unshift()用法实例分析
Jan 18 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 Javascript
js实现时间日期校验
May 26 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
神族 Protoss 历史背景
2020/03/14 星际争霸
用PHP来写记数器(详细介绍)
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
js显示时间 js显示最后修改时间
2013/01/02 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
快速了解Python相对导入
2018/01/12 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
社会实践活动总结报告
2014/04/29 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
劳模事迹材料范文
2014/12/24 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python