JavaScript 实现前端分页导航栏完整示例
作者:代码拾荒时间:2026-10-23 09:09:15浏览:590
本文介绍如何使用JavaScript结合jQuery实现一个简单的分页导航栏。通过计算总页数、当前页索引,动态生成页码链接与跳转按钮,并配合CSS美化显示效果。代码包含HTML结构、JS逻辑及CSS样式,适合前端开发参考学习。
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'>«</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'>»</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;
}
以上就是本文的全部内容,希望这些代码能对各位的学习有所帮助,也欢迎大家继续支持本站。
作者最新文章
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
