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 相关文章推荐
文字幻灯片
Jun 26 Javascript
JavaScript 新手24条实用建议[TUTS+]
Jun 21 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
Jquery实现搜索框提示功能示例代码
Aug 13 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
Apr 25 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
JS仿淘宝搜索框用户输入事件的实现
Jun 19 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 Javascript
JavaScript异步操作的几种常见处理方法实例总结
May 11 Javascript
JS实现超级好看的鼠标小尾巴特效
Dec 01 Javascript
vue router 动态路由清除方式
May 25 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模拟HTTP认证
2006/10/09 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
javascript倒计时功能实现代码
2012/06/07 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
浅谈js原生拖放
2016/11/21 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
Python、Javascript中的闭包比较
2015/02/04 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Python grpc超时机制代码示例
2020/09/14 Python
Python 解析xml文件的示例
2020/09/29 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
2015初中生物教研组工作总结
2015/07/21 职场文书
《学会看病》教学反思
2016/02/17 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python