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 相关文章推荐
apycom出品的jQuery精美菜单破解方法
Feb 18 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
解决jquery中美元符号命名冲突问题
Jan 08 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
详解Vue单元测试case写法
May 24 Javascript
JavaScript错误处理操作实例详解
Jan 04 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 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
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php创建多级目录的方法
2015/03/24 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
js实现一个简易计算器
2020/03/30 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python将视频转换为全字符视频
2019/04/26 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
HTML5的新特性(1)
2016/03/03 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
金融行业务员的自我评价
2013/12/13 职场文书
21岁生日感言
2014/02/27 职场文书
财务总监岗位职责
2014/03/07 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
卖车协议书范文
2016/03/23 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
Nginx配置根据url参数重定向
2022/04/11 Servers