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 innerText和innerHtml应用
Jan 28 Javascript
比较搞笑的js陷阱题
Feb 07 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
JavaScript奇技淫巧44招【实用】
Dec 11 Javascript
提高Web性能的前端优化技巧总结
Feb 27 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
微信小程序实现时间进度条功能
Nov 17 Javascript
关于element-ui表单中限制输入纯数字的解决方式
Sep 08 Javascript
angular *Ngif else用法详解
Dec 15 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
php empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP精确计算功能示例
2016/11/29 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
python函数不定长参数使用方法解析
2019/12/14 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
建龙钢铁面试总结
2014/04/15 面试题
小区物业门卫岗位职责
2014/04/10 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
大学计划书范文800字
2014/08/14 职场文书
个人四风问题整改措施
2014/10/24 职场文书
小学见习报告
2014/10/31 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
教师培训学习心得体会
2016/01/21 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL