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 相关文章推荐
javascript利用初始化数据装配模版的实现代码
Nov 17 Javascript
js函数的延迟加载实现代码
Oct 11 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 Javascript
JavaScript中判断数据类型的方法总结
May 24 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
深入理解Node.js中的进程管理
Mar 13 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
一种angular的方法级的缓存注解(装饰器)
Mar 13 Javascript
element的el-table中记录滚动条位置的示例代码
Nov 06 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 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
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
解析php入库和出库
2013/06/25 PHP
解析isset与is_null的区别
2013/08/09 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python切片知识解析
2016/03/06 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python新手学习可变和不可变对象
2020/06/11 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
心得体会怎么写
2013/12/30 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
学员自我鉴定
2014/03/19 职场文书
如何写好自荐信
2014/04/07 职场文书
骨干教师事迹材料
2014/12/17 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Python 中 Shutil 模块详情
2021/11/11 Python