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 相关文章推荐
js报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
今天是星期几的4种JS代码写法
Sep 17 Javascript
ie8本地图片上传预览示例代码
Jan 12 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
Javascript中For In语句用法实例
May 14 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
解决vue 路由变化页面数据不刷新的问题
Mar 13 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 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(三)
2012/03/22 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
Vue响应式原理详解
2017/04/18 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
js实现抽奖功能
2020/11/24 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
Python教程之全局变量用法
2016/06/27 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
英国高街电视:High Street TV
2018/05/22 全球购物
报关简历自我评价怎么写
2013/09/19 职场文书
学院领导推荐信
2013/10/30 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
JVM之方法返回地址详解
2022/02/28 Java/Android