JavaScript 实现前端分页导航栏完整示例

作者:代码拾荒

时间:2026-10-23

浏览:589

本文介绍如何使用JavaScript结合jQuery实现一个简单的分页导航栏。通过计算总页数、当前页索引,动态生成页码链接与跳转按钮,并配合CSS美化显示效果。代码包含HTML结构、JS逻辑及CSS样式,适合前端开发参考学习。

文章目录

JavaScript 分页导航栏实现概述

本文分享了一段使用JavaScript实现分页导航栏功能的具体代码,供读者参考学习。

最终呈现的效果如下所示:

JavaScript 分页导航栏实现概述

分页核心参数说明

实现分页功能主要涉及以下几个关键参数:

总记录条数:totalCount,通常从数据库查询获取。

每页记录数:pageSize,由开发者自行设定。

总页数:totalPageNum,根据总记录数和每页记录数计算得出。

当前页:currentPageNum,由前端页面传入。

当前页显示内容:List<PageInfo>,通过数据库查询获取,需根据pageSize和currentPageNum计算每页数据的起始索引。

HTML结构与JS逻辑实现

在HTML页面中,需要添加用于展示分页导航条的<div>元素。


<body>
 <!--分页导航条 -->
 <div class="page" id="pag" align="center">
 <!--<a href="javascript:void(0);" onclick="js_method($(this).html())">4</a> -->
 </div>
</body>

接下来编写处理分页逻辑的JavaScript代码。


<script type="text/javascript">
 $(function () { 
 //这里通过ajax查询到总记录数totalCount
 //设定每页显示记录数pageSize,算出总页数totalPageNum
  js_method(1,10);
 });
 /**
 * 传入当前页和和总页数
 */
 function js_method(currentPageNum,totalPageNum) {
 currentPageNum = Number(currentPageNum);
  var startPageNum = currentPageNum - 2; //起始页
  var endPageNum = currentPageNum + 2; //结束页
  $("#pag").text("") //清空导航条
  if (startPageNum <= 0) {
  startPageNum = 1
  endPageNum = startPageNum + 4
  }
  if (endPageNum > totalPageNum) {
  endPageNum = totalPageNum
  startPageNum = endPageNum - 4
  }
 
  if (currentPageNum != 1) {
  $("#pag").append(
 "<a href='javascript:void(0);' onclick='js_method(1,"+totalPageNum+")' >首页</a>"
 )
  $("#pag").append(
  "<a href='javascript:void(0);' onclick='js_method($(\".active\").text()-1,"+totalPageNum+")' id='prePageNum'>&laquo;</a>"
 )
  }
  for (var i = 0; i <= endPageNum; i++) {
  if (i >= startPageNum) {
 
   if (i == currentPageNum) {
   var ele = "<a href='javascript:void(0);' class='active' onclick='js_method($(this).text(),"+totalPageNum+")' >" +
    i + "</a>"
   } else {
   var ele = "<a href='javascript:void(0);' onclick='js_method($(this).text(),"+totalPageNum+")' >" + i + "</a>"
   }
  }
  $("#pag").append(ele)
  }
  if (currentPageNum != totalPageNum) {
  $("#pag").append(
   "<a href='javascript:void(0);' onclick='js_method(Number($(\".active\").text())+1,"+totalPageNum+")' id='prePageNum' rel='pre'>&raquo;</a>"
  )
 $("#pag").append(
 "<a href='javascript:void(0);' onclick='js_method(10,"+totalPageNum+")' >尾页</a>"
 )
  }
 //在这里通过ajax去查询当前页的数据
 }
 </script>

CSS样式设计

最后,添加相应的CSS样式以美化分页导航栏的外观。


.page {
 height: 34px;
 line-height: 34px;
 }
.page a {
 display: inline-block;
 border: 1px solid #ededed;
 padding: 0 12px;
 color: #3e3e3e;
 font-size: 14px;
 font-family: tahoma,simsun;
 text-decoration: none;
 }
.page a:hover {
 color: #f40;
 border-color: #f40;
 }
.page .active,.page .active:hover {
 color: #fff;
 background: #f40;
 border: solid 1px #f40;
}

以上就是本文的全部内容,希望这些代码能对各位的学习有所帮助,也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章