全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js实现前端分页页码管理

用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评!

首先先看效果图:

这是初始页面(也就是第一页)的界面,如果为第一页时,则首页和上一页按钮不可用,为了展示分页的效果,我当前的分页是一条一页

这是页码大于5页时展示的效果:1,2页始终始终显示(考虑到用户体验)

这是最后一页的效果图:

下面直接上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表达式控制的)”

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # 分页  # Bootstrap jquery.twbsPagination.js动态页码分页实例代码  # javascript分页代码(当前页码居中)  # 某页码显示的helper 少量调整  # 另附js版  # javascript 支持页码格式的分页类  # js实现下一页页码效果  # 这是  # 当前页  # 上一页  # 加载  # 首页  # 第一页  # 我是  # 也有  # 很好  # 在这个  # 是有  # 下一页  # 则是  # 这也  # 考虑到  # 写了  # 跳转  # 就看  # 很美 


相关文章: 宝塔建站后网页无法访问如何解决?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何在局域网内绑定自建网站域名?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  南平网站制作公司,2025年南平市事业单位报名时间?  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何用虚拟主机快速搭建网站?详细步骤解析  常州企业网站制作公司,全国继续教育网怎么登录?  网站企业制作流程,用什么语言做企业网站比较好?  内部网站制作流程,如何建立公司内部网站?  如何快速重置建站主机并恢复默认配置?  如何快速配置高效服务器建站软件?  如何彻底删除建站之星生成的Banner?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何选择适合PHP云建站的开源框架?  简历在线制作网站免费版,如何创建个人简历?  北京制作网站的公司,北京铁路集团官方网站?  如何快速生成可下载的建站源码工具?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何在服务器上配置二级域名建站?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  如何快速查询网址的建站时间与历史轨迹?  如何通过.red域名打造高辨识度品牌网站?  微课制作网站有哪些,微课网怎么进?  网站制作免费,什么网站能看正片电影?  平台云上自助建站如何快速打造专业网站?  Python lxml的etree和ElementTree有什么区别  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何用wdcp快速搭建高效网站?  C++如何编写函数模板?(泛型编程入门)  免费视频制作网站,更新又快又好的免费电影网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在Windows环境下新建FTP站点并设置权限?  如何规划企业建站流程的关键步骤?  ,网页ppt怎么弄成自己的ppt?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站主机选购指南:核心配置优化与品牌推荐方案  网站制作的步骤包括,正确网址格式怎么写?  专业网站建设制作报价,网页设计制作要考什么证?  建站主机是什么?如何选择适合的建站主机?  Swift中switch语句区间和元组模式匹配  高防服务器:AI智能防御DDoS攻击与数据安全保障  定制建站哪家更专业可靠?推荐榜单揭晓  盘锦网站制作公司,盘锦大洼有多少5G网站?  在线教育网站制作平台,山西立德教育官网?  如何登录建站主机?访问步骤全解析  Swift中循环语句中的转移语句 break 和 continue  如何快速搭建高效简练网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。