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面向对象编程 for Cookie
Sep 19 Javascript
Function.prototype.bind用法示例
Sep 16 Javascript
js时间戳格式化成日期格式的多种方法
Nov 11 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
jQuery中多个元素的Hover事件解决方案
Jun 12 Javascript
javascript常用代码段搜集
Dec 04 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
Vue编写多地区选择组件
Aug 21 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 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
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
FLASH 广告之外的链接
2008/12/16 Javascript
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
JavaScript之解构赋值的理解
2019/01/30 Javascript
python中enumerate函数用法实例分析
2015/05/20 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
万里长城导游词
2015/01/30 职场文书
团组织推荐意见
2015/06/05 职场文书
2016年教代会开幕词
2016/03/04 职场文书
合作意向书范本
2019/04/17 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
导游词之阆中古城
2019/12/23 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏