jquery table分页插件

使用方法:

(1)下载jquery.js,现在最新版本为1.3

(2)新建js,我的为page.js,放入以下代码。

jQuery.extend({
  page:function(divId,pagesize){ 
            var div=divId;
   var x="#"+div+" table tr:has(td)";
   var y="#"+div;
   var z="#"+div+" table";
      var table=$(x);          
   var row=table.length;
   var pageSize=pagesize;
   var allPage=parseInt(""+((row+pageSize-1)/pageSize),10);   
   var currentPage=1;
   $(table).hide();    
   var width=$(z).width();
   var max_number=parseInt((width-130)/20,10);
   //alert(max_number);
            //构建菜单   
   $(y).append("<div id='menu'></div>");
   $(y).css("width",$(z).width()+"px");   
   $("#menu").css("width",$(z).width()+"px");
   $("#menu").css("padding","2px 10px 2px 10px");
   $("#menu").css("position","absolute");
   
   showRow("1");
   bar();
   //为菜单添加事件      
   function bar(){
    var left;
    var right;
    if(max_number>=allPage){
     left=1;
     right=allPage;
    }
    else{
     var center=parseInt((max_number+1)/2,10);     
     if(currentPage<=center){
      left=1;
      right=max_number;
     }
     else{
      if(allPage%2==1){
       center=center-1;       
      }
      var maxRight=currentPage+center-1;
      if(maxRight>=allPage){
       left=allPage-max_number+1;
       right=allPage;
      }
      else{
       if(allPage%2==0){
           left=currentPage-center+1;
          }
       else left=currentPage-center;
       right=left+max_number-1;
      }
      
     }
    }
    $("#menu").empty();
    $("#menu").append("<span id='pre'>pre</span>");      //上一页
    for(var i=left;i<=right;i++){
     $("#menu").append("<span id='"+i+"'>"+i+"</span>");
     $("span").css("width","20px");
    }   
    $("#menu").append("<span id='next'>next</span>");   //下一页
    $("#menu").append("<span id='page_currentPage_allPage'></span>");
    $("#next").css("width","30px");
    $("#pre").css("width","30px"); 
    $("#page_currentPage_allPage").css("border","solid 1px green");
    $("#page_currentPage_allPage").css("width","30px");
    $("#page_currentPage_allPage").css("margin","0px 0px 0px 10px");
    $("#page_currentPage_allPage").css("padding","0px 2px 0px 2px");
    $("#page_currentPage_allPage").html(currentPage+"<b>/</b>"+allPage);
    $("span:not('#pre','#next','#page_currentPage_allPage')").bind("click",{}, function (){ showRow($(this).attr("id"));});
   $("span:not('#page_currentPage_allPage')").bind("mouseover",{}, function (){ $(this).css("cursor", "hand");});
   $("#pre").bind("click",{}, function (){ showPre();});
   $("#next").bind("click",{}, function (){ showNext();});
   }
   
   function showRow(page){
    currentPage=page-0;
    $(table).hide();  
    var first=(currentPage-1)*pageSize;
    var last=pageSize*currentPage;
    if(last>row) last=row;
    for(var i=first;i<last;i++){
     table.eq(i).show();
    }
    bar();
    var id="#"+currentPage;
    var cd="span:not("+id+")";
    $(cd).css("color","#000000");
    $(id).css("color","red");
    $("#page_currentPage_allPage").html(currentPage+"<b>/</b>"+allPage);
   }
   
   function showPre(){
    var p;
    if(currentPage-0==1){
     p=allPage;
    }
    else {
     p=currentPage-1;
    }
    showRow(p);
    
   }
   
   function showNext(){
    var p;
    if(currentPage==allPage){
     p=1;
    }
    else {
     p=currentPage+1;
    }
    showRow(p);
   }
   $("#1").css("color","red");   }
    });

 (3)

    使用方法很简单,页面引用这两个js文件。

    然后加入

 

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="page.js"></script>
<script language="javascript">
$(document).ready(
  function (){
    jQuery.page("page",5);
  }
);
</script>

   jQuery.page("page",5);     为主要使用方法,其中参数“page”为围绕table的div层id,数字5为要每页要显示的输入数。

  (4)下面给出的是我的例子,省略(1)(2)。

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="page.js"></script>
<script language="javascript">
$(document).ready(
  function (){
    jQuery.page("page",5);
  }
);
</script>
<body>
<div id="page">
  <table width="280" border="1">
    <tr>
      <th width="80">id</th>
      <th width="184">name</th>
    </tr>
    <tr>
      <td>1</td>
      <td>fds</td>
    </tr>
    <tr>
      <td>2</td>
      <td>fsdfsd</td>
    </tr>
    <tr>
      <td>3</td>
      <td>fsdfsd</td>
    </tr>
    <tr>
      <td>4</td>
      <td>fsdf</td>
    </tr>
    <tr>
      <td>5</td>
      <td>sdfds</td>
    </tr>
    <tr>
      <td>6</td>
      <td>fsdf</td>
    </tr>
    <tr>
      <td>7</td>
      <td>sdfsd</td>
    </tr>
    <tr>
      <td>8</td>
      <td>fsdf</td>
    </tr>
    <tr>
      <td>9</td>
      <td>sdfsd</td>
    </tr>
    <tr>
      <td>10</td>
      <td>fdsf</td>
    </tr>
  </table>
</div>
</body>
</html>

 

    效果图:

   

 

 

附有一个jquery API.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值