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 相关文章推荐
JavaScript 学习笔记 Black.Caffeine 09.11.28
Nov 30 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
Javascript中级语法快速入手
Jul 30 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
javascript函数的四种调用模式
Jan 08 Javascript
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
react native 文字轮播的实现示例
Jul 27 Javascript
学习React中ref的两个demo示例
Aug 14 Javascript
ES6 迭代器与可迭代对象的实现
Feb 11 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
js实现随机点名
Jan 19 Javascript
使用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读取目录所有文件信息dir示例
2014/03/18 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
javscript对象原型的一些看法
2010/09/19 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
面包屑导航详解
2017/12/07 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
开源Web应用框架Django图文教程
2017/03/09 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Django多数据库的实现过程详解
2019/08/01 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
python调用摄像头的示例代码
2020/09/28 Python
附答案的Java面试题
2012/11/19 面试题
面试求职的个人自我评价
2013/11/16 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
物流业务员岗位职责
2014/02/08 职场文书
申论倡议书范文
2014/05/13 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
小学入学感言
2015/08/01 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书