基于bootstrap与jQuery实现的分页功能(多余部分省略号代替)
基于bootstrap与jQuery实现的分页功能(多余部分省略号代替)
<nav aria-label='Page navigation' id='nav_navigation'></nav>
<script type='text/javascript'>
/**
* 刷新页码方法
* @param totalPage
* @param currentPage
*/
function refreshPages (totalPage, currentPage) {
//安全判断
if (currentPage < 1) {
currentPage = 1
}
if (currentPage > totalPage) {
currentPage = totalPage
}
var paginationInfo = getPagination(totalPage, currentPage)
//用id选择器写入页码部分代码(根据需求修改)
$('#nav_navigation').html(paginationInfo)
}
/**
* 获取分页
* @param totalPage
* @param currentPage
* @returns {string}
*/
function getPagination (totalPage, currentPage) {
var paginationInfo = '<ul class=\'pagination .pagination-sm\' >'
if (currentPage == 1) {
paginationInfo +=
'<li class=\'disabled\'><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
(currentPage - 1) +
');searchJob(' +
(currentPage - 1) +
')\'' +
'>«</a></li>'
} else {
//前一页
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
(currentPage - 1) +
');searchJob(' +
(currentPage - 1) +
')\'' +
'>«</a></li>'
}
if (totalPage <= 10) {
//totalPage<=10
for (var i = 1; i <= totalPage; i++) {
if (i == currentPage) {
paginationInfo +=
'<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
' );searchJob(' +
i +
')\'>' +
i +
' </a></li>'
} else {
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
' );searchJob(' +
i +
')\'>' +
i +
' </a></li>'
}
}
} else {
//totalPage > 10
if (currentPage <= 3) {
for (var i = 1; i <= currentPage + 2; i++) {
//页码1、2
if (i == currentPage) {
paginationInfo +=
'<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
')\'>' +
i +
'</a></li>'
} else {
paginationInfo +=
'<li > <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
')\'>' +
i +
'</a></li>'
}
}
paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'
//最后一页的页码
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
totalPage +
');searchJob(' +
totalPage +
')\'>' +
totalPage +
'</a></li>'
} else if (currentPage <= totalPage - 5) {
//totalPage > 10 currentPage > 3 currentPage<=totalPage-5, 页码在中间部分
//页码为1的代码
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
1 +
');searchJob(1)\'>' +
1 +
'</a></li>'
//页码1后面的省略号
paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'
//中间部分代码
for (var i = currentPage - 1; i <= currentPage + 2; i++) {
if (i == currentPage) {
paginationInfo +=
'<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
')\'>' +
i +
'</a></li>'
} else {
paginationInfo +=
'<li> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
')\'>' +
i +
'</a></li>'
}
}
//后面的省略号
paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'
//最后一个页码
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
totalPage +
');searchJob(' +
totalPage +
')\'>' +
totalPage +
'</a></li>'
} else {
//totalPage > 10 并且currentPage > totalPage-5 显示后面的页码
//页码1
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
1 +
');searchJob(1)\'>' +
1 +
'</a></li>'
//省略号
paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'
//最后几位页码
for (var i = currentPage - 1; i <= totalPage; i++) {
if (i == currentPage) {
paginationInfo +=
'<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
'\'>' +
i +
'</a></li>'
} else {
paginationInfo +=
'<li> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
i +
');searchJob(' +
i +
')\'>' +
i +
'</a></li>'
}
}
}
}
//下一页
if (currentPage == totalPage) {
paginationInfo +=
'<li class=\'disabled\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
(currentPage + 1) +
');searchJob(' +
(currentPage + 1) +
')\'' +
'>»</a></li>'
} else {
paginationInfo +=
'<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
totalPage +
' , ' +
(currentPage + 1) +
');searchJob(' +
(currentPage + 1) +
')\'' +
'>»</a></li>'
}
paginationInfo += '</ul>'
//返回结果
return paginationInfo
}
</script>
本文转载自:
https://blog.xgblack.cn/paging-based-on-bootstrap-and-jquery/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2023-07-11 hbuilderx 调试链接逍遥模拟器
2017-07-11 JavaScript判断变量是否为数组的方法(Array)