js实现简单分页导航栏效果

Oprah ·
更新时间:2024-11-10
· 510 次阅读

本文实例为大家分享了js实现分页导航栏效果的具体代码,供大家参考,具体内容如下

最终的效果: 

1. 分页需要的几个重要参数:

总记录条数: totalCount (查数据库)

每页记录数: pageSize  (自己设置)

总页数: totalPageNum  (根据上面的参数计算) 

当前页: currentPageNum (前台传入)

当前页要显示的内容 : List<PageInfo> (查数据库: pageSize和currentPageNum每页的计算起始记录索引  

2. 在html页面中添加分页导航条的<DIV>

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

3. 编写分页逻辑的js

<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>

4. 添加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; }



js实现 js 分页

需要 登录 后方可回复, 如果你还没有账号请 注册新账号