angularjs表格分页功能详解


Posted in Javascript onJanuary 21, 2016

接上一次,这次主要介绍表格分页功能,由于项目需要这个案例是关于前端分页的方式,现在很少会这么用了,但如有需要可以参考其中的思路

html:

1.通过UL来展示页标,其中每个页标的li是通过异步加载从获取到不同的表格数据来动态生成的。

<div class="pagination">
      <ul style="float:right">
        <li id="previous"><a href="">上一页</a></li>
        <li><!--用于页标的显示 -->
          <ul id="page_num_all">
          </ul>
        </li>
        <li id="next"><a href="" style="border:1px solid #ddd;float:right">下一页</a></li>
      </ul>
      <span>
        当前为第<span class="num" id="current_page"></span>页,总共<span class="num" id="page_all"></span>页
      </span>
    </div>

js:

1.首先需要设置每页想要显示的条数,通过选取页面元素来确定本次生成的总条数,以及当前所在的页数(为跳转做准备)

2.如果总页数大于生成的当前页数,则继续生成下一页直到完毕后,将角标添加到页面中

3.将所有的表格数据隐藏,只显示一开始设置的第一页中的5条

4.跳转页面功能,tab_page()通过传入的index(页数)*显示的条数来确定截取tr的开始位置和结束位置,然后将所有的tr隐藏,只显示该范围内的tr(display:“”);

5.上一页下一页和跳转功能,获取当前页的数字,注意判断是否为第一或最后一页,将其作为index传入跳转功能中即可

function table_page(){
      var show_page=5;//每页显示的条数
      var page_all=$("#page").children().size();//总条数
      var current_page=1;//当前页
//    console.log(page_all);
      var page_num=Math.ceil(page_all/show_page);//总页数
      var current_num=0;//用于生成页标的计数器
      var li="";//页标元素
      while(page_num>current_num){//循环生成页标元素
        li+='<li class="page_num"><a href="javasctip:(0)">'+(current_num+1)+'</a></li>';
        current_num++;
      }
      $("#page_num_all").html(li);//添加页标到页面
      $('#page tr').css('display', 'none');//设置隐藏
      $('#page tr').slice(0, show_page).css('display', '');//设置显示
      $("#current_page").html(" "+current_page+" ");//显示当前页
      $("#page_all").html(" "+page_num+" ");//显示总页数
      $("#previous").click(function(){//上一页
        var new_page=parseInt($("#current_page").text())-1;
        if(new_page>0){
          $("#current_page").html(" "+new_page+" ");
          tab_page(new_page);
        }
      });
      $("#next").click(function(){//下一页
        var new_page=parseInt($("#current_page").text())+1;//当前页标
        if(new_page<=page_num){//判断是否为最后或第一页
          $("#current_page").html(" "+new_page+" ");
          tab_page(new_page);
        }
      });
      $(".page_num").click(function(){//页标跳转
        var new_page=parseInt($(this).text());
        tab_page(new_page);
      });
      function tab_page(index){//切换对应页标的页面
        var start=(index-1)*show_page;//开始截取的页标
        var end=start+show_page;//截取个数
        $('#page').children().css('display', 'none').slice(start, end).css('display', '');
        current_page=index;
        $("#current_page").html(" "+current_page+" ");
      }
    }
table_page();

以上就是表格的前端分页方法和页数,页标等跳转方式的方法,请结合第一章中的数据测试。

Javascript 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
Jquery实现视频播放页面的关灯开灯效果
May 27 Javascript
javascript基本算法汇总
Mar 09 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
vue2.0与bootstrap3实现列表分页效果
Nov 28 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
Javascript实现简易天数计算器
May 18 Javascript
vue-video-player 断点续播的实现
Feb 01 Vue.js
使用angularjs创建简单表格
Jan 21 #Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 #Javascript
Javascript中神奇的this
Jan 20 #Javascript
javascript实现图片轮播效果
Jan 20 #Javascript
JS获取鼠标坐标位置实例分析
Jan 20 #Javascript
属于你的jQuery提示框(Tip)插件
Jan 20 #Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 #Javascript
You might like
十天学会php(3)
2006/10/09 PHP
php上传、管理照片示例
2006/10/09 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
ES6入门教程之let和const命令详解
2017/05/17 Javascript
vue axios用法教程详解
2017/07/23 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
JS中数据结构之栈
2019/01/01 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
个人简历自我评价
2014/01/06 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
税务会计岗位职责
2014/02/18 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript