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 相关文章推荐
jQuery第三课 修改元素属性及内容的代码
Mar 14 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
多种方式实现JS调用后台方法进行数据交互
Aug 20 Javascript
javascript alert乱码的解决方法
Nov 05 Javascript
javascript类型转换使用方法
Feb 08 Javascript
jQuery实现三级联动效果
Mar 02 Javascript
JavaScript数据结构之二叉树的查找算法示例
Apr 13 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
Feb 22 Javascript
微信小程序实现简单购物车功能
Dec 30 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
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的Yii框架中的Controller控制器
2016/03/29 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
javascript数组详解
2014/10/22 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
python画图的函数用法以及技巧
2019/06/28 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
行政人员工作职责
2013/12/05 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
毕业生工作求职信
2014/06/30 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
兵马俑的导游词
2015/02/02 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js