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 相关文章推荐
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
jQuery中width()方法用法实例
Dec 24 Javascript
创建你的第一个AngularJS应用的方法
Jun 16 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
webpack中的热刷新与热加载的区别
Apr 09 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 Javascript
OpenLayers3实现测量功能
Sep 25 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获取服务器时间的实现代码
2013/06/07 PHP
php object转数组示例
2014/01/15 PHP
PHP正则验证Email的方法
2015/06/15 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
js 操作select和option常用代码整理
2012/12/13 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
Python输出带颜色的字符串实例
2017/10/10 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
python实现同一局域网下传输图片
2020/03/20 Python
如何利用Python 进行边缘检测
2020/10/14 Python
Shell编程面试题
2012/05/30 面试题
市场部专员岗位职责
2013/11/30 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
文明市民先进事迹
2014/05/15 职场文书
硕士学位论文评语
2014/12/31 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
商超业务员岗位职责
2015/02/13 职场文书
Java 定时任务技术趋势简介
2022/05/04 Java/Android
SQL Server删除表中的重复数据
2022/05/25 SQL Server