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 相关文章推荐
QUnit jQuery的TDD框架
Nov 04 Javascript
同时使用n个window onload加载实例介绍
Apr 25 Javascript
fmt:formatDate的输出格式详解
Jan 09 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
Mar 24 Javascript
移动端点击态处理的三种实现方式
Jan 12 Javascript
javascript实现多张图片左右无缝滚动效果
Mar 22 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
JavaScript实现猜数字游戏
May 20 Javascript
javascript对象3个属性特征
Nov 17 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
php访问查询mysql数据的三种方法
2006/10/09 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
jquery()函数的三种语法介绍
2013/10/09 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python中多线程thread与threading的实现方法
2014/08/18 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
联想中国官方商城:Lenovo China
2017/10/18 全球购物
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
高二政治教学反思
2014/02/01 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技