angularjs表格分页功能详解

 更新时间:2016年01月21日 10:27:51   投稿:hebedich  
本文给大家分享的是个人在项目中使用angularjs实现表格分页功能的思路和代码,非常的简单实用,有需要的小伙伴可以参考下。

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

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("&nbsp;"+current_page+"&nbsp;");//显示当前页
      $("#page_all").html("&nbsp;"+page_num+"&nbsp;");//显示总页数
      $("#previous").click(function(){//上一页
        var new_page=parseInt($("#current_page").text())-1;
        if(new_page>0){
          $("#current_page").html("&nbsp;"+new_page+"&nbsp;");
          tab_page(new_page);
        }
      });
      $("#next").click(function(){//下一页
        var new_page=parseInt($("#current_page").text())+1;//当前页标
        if(new_page<=page_num){//判断是否为最后或第一页
          $("#current_page").html("&nbsp;"+new_page+"&nbsp;");
          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("&nbsp;"+current_page+"&nbsp;");
      }
    }
table_page();

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

相关文章

  • 详解Angular的数据显示优化处理

    详解Angular的数据显示优化处理

    本文主要对Angular的数据显示优化处理进行详细介绍,具有一定的参考价值,下面跟着小编一起来看下吧
    2016-12-12
  • AngularJS 工作原理详解

    AngularJS 工作原理详解

    本文主要介绍AngularJS 工作原理,这里整理了相关资料及示例代码,有兴趣的小伙伴可以参考下
    2016-08-08
  • 浅谈angularJS中的事件

    浅谈angularJS中的事件

    下面小编就为大家带来一篇浅谈angularJS中的事件。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 关于 angularJS的一些用法

    关于 angularJS的一些用法

    这篇文章主要介绍了关于 angularJS的一些用法的相关资料,需要的朋友可以参考下
    2017-11-11
  • AngularJS学习笔记之TodoMVC的分析

    AngularJS学习笔记之TodoMVC的分析

    这篇文章主要介绍了AngularJS学习笔记之TodoMVC的分析的相关资料,需要的朋友可以参考下
    2015-02-02
  • ionic4+angular7+cordova上传图片功能的实例代码

    ionic4+angular7+cordova上传图片功能的实例代码

    ionic是一个垮平台开发框架,可通过web技术开发出多平台的应用。这篇文章主要介绍了ionic4+angular7+cordova上传图片功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-06-06
  • AngularJS指令用法详解

    AngularJS指令用法详解

    这篇文章主要介绍了AngularJS指令用法,较为详细的分析了AngularJS指令的功能、用法及自定义指令的相关实现技巧,需要的朋友可以参考下
    2016-11-11
  • AngularJS基础 ng-keyup 指令简单示例

    AngularJS基础 ng-keyup 指令简单示例

    本文主要介绍AngularJS ng-keyup 指令,这里对ng-keyup指令的基本资料进行了整理,并且附有代码示例,有需要的朋友可以看一下
    2016-08-08
  • angularJs提交文本框数据到后台的方法

    angularJs提交文本框数据到后台的方法

    今天小编就为大家分享一篇angularJs提交文本框数据到后台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Angular CLI 安装和使用教程

    Angular CLI 安装和使用教程

    本篇文章主要介绍了Angular CLI 安装和使用教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论