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 相关文章推荐
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
javascript+html5+css3自定义提示窗口
Jun 21 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
JavaScript门面模式详解
Oct 19 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
vuex进阶知识点巩固
May 20 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 Javascript
如何在vue中使用HTML 5 拖放API
Jan 14 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将日期格式转换成xx天前的格式
2015/04/16 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
javascript实用方法总结
2015/02/06 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python可变参数函数用法实例
2015/07/07 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
Python中with及contextlib的用法详解
2017/06/08 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
中专毕业生的自我鉴定
2013/12/01 职场文书
给老师的道歉信
2014/01/11 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
Python基础详解之描述符
2021/04/28 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS