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


Posted in Javascript onJune 28, 2019

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

最终的效果: 

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js window.event对象详尽解析
Feb 17 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
JavaScript实现图像模糊化的方法实例
Jan 15 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
Jquery-data的三种用法
Apr 18 jQuery
JS实现遍历不规则多维数组的方法
Mar 21 Javascript
讲解vue-router之什么是嵌套路由
May 28 Javascript
仿ElementUI实现一个Form表单的实现代码
Apr 23 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 Javascript
elementUi vue el-radio 监听选中变化的实例代码
Jun 28 #Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 #Javascript
开发中常用的25个JavaScript单行代码(小结)
Jun 28 #Javascript
微信小程序身份证验证方法实现详解
Jun 28 #Javascript
jQuery属性选择器用法实例分析
Jun 28 #jQuery
jQuery位置选择器用法实例分析
Jun 28 #jQuery
jQuery层叠选择器用法实例分析
Jun 28 #jQuery
You might like
第十四节 命名空间 [14]
2006/10/09 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
Json解析的方法小结
2016/06/22 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
简单介绍python封装的基本知识
2019/08/10 Python
Python Process多进程实现过程
2019/10/22 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
初中学生评语大全
2014/04/24 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
皇城相府导游词
2015/02/06 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
建国大业电影观后感
2015/06/01 职场文书
飞越疯人院观后感
2015/06/09 职场文书
生活小常识广播稿
2015/08/19 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android