使用方法:
(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.