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 相关文章推荐
基于SVG的web页面图形绘制API介绍及编程演示
Jun 28 Javascript
使用JSLint提高JS代码质量方法分享
Dec 16 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
vue.js实现备忘录demo
Jun 26 Javascript
JavaScript中的null和undefined用法解析
Sep 30 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在线生成ico文件的代码
2007/10/09 PHP
学习php笔记 字符串处理
2010/10/19 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
联强国际笔试题面试题
2013/07/10 面试题
职工运动会感言
2014/02/07 职场文书
竞争上岗实施方案
2014/03/21 职场文书
小学毕业寄语大全
2014/04/03 职场文书
投标邀请书范本
2015/02/02 职场文书
圣诞晚会主持词
2015/07/01 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
Python利用folium实现地图可视化
2021/05/23 Python
MySql开发之自动同步表结构
2021/05/28 MySQL
Python序列化与反序列化相关知识总结
2021/06/08 Python