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当一个变量为函数时 应该注意的一点细节小结
Dec 29 Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
asp.net刷新本页面的六种方法总结
Jan 07 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
关于javascript中dataset的问题小结
Nov 16 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
JavaScript 不支持 indexof 该如何解决
Mar 30 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
jquery实现简单的瀑布流布局
Dec 11 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 Javascript
Vue中用JSON实现刷新界面不影响倒计时
Oct 26 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
PHP中上传大体积文件时需要的设置
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
javascript一点特殊用法
2008/05/28 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
vue组件实例解析
2017/01/10 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
酒店节能减排方案
2014/05/26 职场文书
签约仪式策划方案
2014/06/02 职场文书
房产协议书范本2014
2014/09/30 职场文书
农业项目合作意向书
2015/05/08 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
2016年安全月活动总结
2016/04/06 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
Python中的datetime包与time包包和模块详情
2022/02/28 Python