jQuery实现伪分页的方法分享


Posted in Javascript onFebruary 17, 2016

本文实例讲述了jQuery实现伪分页的方法。分享给大家供大家参考,具体如下:

可以对表格数据进行伪分页,而且只需要执行简单的代码就可以实现。

实现的很简单、样式也不太好看,大家可以自行调整,纠正。

下面是一个table,tbody里加载tr数据,无论你怎么加载,

在数据加载完成后便可以对table数据进行伪分页、注意div引用的class,我填充的数据是四列的,所以td里加了colspan,div是分页显示区域

<table>
   <tbody id="dialog-items">
    </tbody>
    <tfoot>
      <tr>
       <td colspan="4">
        <div id="maskPage" class="page_btn">
        </div>
       </td>
    </tr>
   </tfoot>
</table>

下面是css和js方法

.page_btn{padding-top:0px;}
.page_btn a{cursor:pointer;padding:5px;border:solid 1px #ccc;font-size:12px;}
.page_box{float:right;}
.num{padding:0 10px;}

js方法如下

//对tbody伪分页;pageDiv:用于显示分页数据的div tbodyId :tbody的ID,pageSize,分页数目
function pagiNation(pageDiv,tbodyId,pageSize){
  $("#"+tbodyId+" tr:gt("+(pageSize-1)+")").hide();//初始化,前面pageSize-1条数据显示,其他的数据隐藏。
  var total_q=$("#"+tbodyId+" tr").length;//总数据
  var current_page=pageSize;//每页显示的数据
  var current_num=1;//当前页数
  var total_page= Math.ceil(parseFloat(total_q)/parseFloat(current_page));//总页数
  var pagePlugIn = "<span class=\"page_box\">"+
          "<a id=\""+tbodyId+"_prev\" class=\"prev\">上一页</a>"+
          "<span id=\""+tbodyId+"_num\" class=\"num\">"+
          "<span id=\""+tbodyId+"_current_page\" class=\"current_page\">1</span>"+
          "<span style=\"padding:0 3px;\">/</span>"+
          "<span id=\""+tbodyId+"_total\" class=\"total\"></span></span>"+
          "<a id=\""+tbodyId+"_next\" class=\"next\">下一页</a>"+
          "</span>";
  $("#"+pageDiv+"").html(pagePlugIn);
  var next=$("#"+tbodyId+"_next");//下一页
  var prev=$("#"+tbodyId+"_prev");//上一页
  $("#"+tbodyId+"_total").text("");//显示总页数
  $("#"+tbodyId+"_total").text(total_page);//显示总页数
  $("#"+tbodyId+"_current_page").text("");//当前的页数
  $("#"+tbodyId+"_current_page").text(current_num);//当前的页数
  //下一页
 $("#"+tbodyId+"_next").unbind("click");
 $("#"+tbodyId+"_next").click(function(){
 if(current_num==total_page){
    return false;//如果大于总页数就禁用下一页
 }
 else{
   $("#"+tbodyId+"_current_page").text(++current_num);//点击下一页的时候当前页数的值就加1
   $.each($("#"+tbodyId+" tr"),function(index,item){
   var start = current_page* (current_num-1);//起始范围
   var end = current_page * current_num;//结束范围
   if(index >= start && index < end){//如果索引值是在start和end之间的元素就显示,否则就隐
    $(this).show();
   }else {
   $(this).hide();
   }
 });
 }
});
//上一页方法
$("#"+tbodyId+"_prev").unbind("click");
$("#"+tbodyId+"_prev").click(function(){
  if(current_num==1){
    return false;
  }else{
    $("#"+tbodyId+"_current_page").text(--current_num);
    $.each($("#"+tbodyId+" tr"),function(index,item){
    var start = current_page* (current_num-1);//起始范围
    var end = current_page * current_num;//结束范围
    if(index >= start && index < end){//如果索引值是start和end之间的元素就显示,否则就隐藏
      $(this).show();
    }else {
      $(this).hide();
    }
  });
}
})
  $("#"+pageDiv+"").show();
}

页面引用css和js,加载完成数据后,

function fillTabl(){
     ......................
     数据填充.............
     ..........................
     pagiNation('maskPage','dialog-items',10); //传入div的id,tbody的id,还有分页数
}

效果如下:

jQuery实现伪分页的方法分享

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
用js实现计算代码行数的简单方法附代码
Aug 13 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
Sep 19 Javascript
Jquery中基本选择器用法实例详解
May 18 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
JavaScript实现前端分页控件
Apr 19 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
原生JS实现动态添加新元素、删除元素方法
May 05 Javascript
详解用async/await来处理异步
Aug 28 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
k8s node节点重新加入master集群的实现
Feb 22 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 #Javascript
DeviceOne 让你一见钟情的App快速开发平台
Feb 17 #Javascript
纯JavaScript代码实现文本比较工具
Feb 17 #Javascript
JavaScript实现身份证验证代码
Feb 17 #Javascript
AngularJS 最常用的功能汇总
Feb 17 #Javascript
AngularJS身份验证的方法
Feb 17 #Javascript
基于AngularJS+HTML+Groovy实现登录功能
Feb 17 #Javascript
You might like
玛琪朵 Macchiato
2021/03/03 咖啡文化
php英文单词统计器
2016/06/23 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
Python实战之制作天气查询软件
2019/05/14 Python
使用python画社交网络图实例代码
2019/07/10 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
python re.match()用法相关示例
2021/01/27 Python
python中最小二乘法详细讲解
2021/02/19 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
护理专业优质毕业生自荐书
2014/01/31 职场文书
领导失职检讨书
2014/02/24 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
毕业寄语大全
2014/04/09 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
SQL写法--行行比较
2021/08/23 SQL Server