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 19 Javascript
jquery 页面全选框实践代码
Apr 02 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
Jun 12 Javascript
在javascript中如何得到中英文混合字符串的长度
Jan 17 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
javascript中new关键字详解
Dec 14 Javascript
基于jquery实现表格内容筛选功能实例解析
May 09 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 Javascript
ES6 Object属性新的写法实例小结
Jun 25 Javascript
JS中==、===你分清楚了吗
Mar 04 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
根德YB400的电路分析
2021/03/02 无线电
通俗易懂的php防注入代码
2010/04/07 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js密码强度检测
2016/01/07 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
python实现的重启关机程序实例
2014/08/21 Python
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python类属性的延迟计算
2016/10/22 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
Ibatis的核心配置文件都有什么
2014/09/08 面试题
网络工程专业自荐信范文
2014/03/16 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python