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 dom 操作详解 js加强
Jul 13 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
jQuery中:text选择器用法实例
Jan 03 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 Javascript
layui 弹出删除确认界面的实例
Sep 06 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
javascript实现前端成语点击验证优化
Jun 24 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP内置加密函数详解
2016/11/20 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
node.js实现端口转发
2016/04/14 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
js实现录音上传功能
2019/11/22 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
jQuery实现增删改查
2020/12/22 jQuery
解决PyCharm中光标变粗的问题
2017/08/05 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
树莓派升级python的具体步骤
2020/07/05 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
Python self用法详解
2020/11/28 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
初婚未育证明
2014/01/15 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android