视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用js制作htmltable分页示例(js实现分页)_javascript技巧
2020-11-27 21:22:08 责编:小采
文档


有时候table的列数太长,不利于使用者查询,所以利用JS做了一个table的分页,以下为相关代码

一、JS代码

代码如下:

var pageSize = 15; //每页显示的记录条数
var curPage=0; //当前页
var lastPage; //最后页
var direct=0; //方向
var len; //总行数
var page; //总页数
var begin;
var end;


$(document).ready(function display(){
len =$("#mytable tr").length - 1; // 求这个表的总行数,剔除第一行介绍
page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//根据记录条数,计算页数
// alert("page==="+page);
curPage=1; // 设置当前为第一页
displayPage(1);//显示第一页

document.getElementById("btn0").innerHTML="当前 " + curPage + "/" + page + " 页 每页 "; // 显示当前多少页
document.getElementById("sjzl").innerHTML="数据总量 " + len + ""; // 显示数据量
document.getElementById("pageSize").value = pageSize;

$("#btn1").click(function firstPage(){ // 首页
curPage=1;
direct = 0;
displayPage();
});
$("#btn2").click(function frontPage(){ // 上一页
direct=-1;
displayPage();
});
$("#btn3").click(function nextPage(){ // 下一页
direct=1;
displayPage();
});
$("#btn4").click(function lastPage(){ // 尾页
curPage=page;
direct = 0;
displayPage();
});
$("#btn5").click(function changePage(){ // 转页
curPage=document.getElementById("changePage").value * 1;
if (!/^[1-9]\d*$/.test(curPage)) {
alert("请输入正整数");
return ;
}
if (curPage > page) {
alert("超出数据页面");
return ;
}
direct = 0;
displayPage();
});


$("#pageSizeSet").click(function setPageSize(){ // 设置每页显示多少条记录
pageSize = document.getElementById("pageSize").value; //每页显示的记录条数
if (!/^[1-9]\d*$/.test(pageSize)) {
alert("请输入正整数");
return ;
}
len =$("#mytable tr").length - 1;
page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//根据记录条数,计算页数
curPage=1; //当前页
direct=0; //方向
firstPage();
});
});

function displayPage(){
if(curPage <=1 && direct==-1){
direct=0;
alert("已经是第一页了");
return;
} else if (curPage >= page && direct==1) {
direct=0;
alert("已经是最后一页了");
return ;
}

lastPage = curPage;

// 修复当len=1时,curPage计算得0的bug
if (len > pageSize) {
curPage = ((curPage + direct + len) % len);
} else {
curPage = 1;
}


document.getElementById("btn0").innerHTML="当前 " + curPage + "/" + page + " 页 每页 "; // 显示当前多少页

begin=(curPage-1)*pageSize + 1;// 起始记录号
end = begin + 1*pageSize - 1; // 末尾记录号


if(end > len ) end=len;
$("#mytable tr").hide(); // 首先,设置这行为隐藏
$("#mytable tr").each(function(i){ // 然后,通过条件判断决定本行是否恢复显示
if((i>=begin && i<=end) || i==0 )//显示begin<=x<=end的记录
$(this).show();
});

}

二、HTML代码

代码如下:

条 设置

首页
上一页
下一页
尾页
转到


跳转


...剩余的table代码

最后得到的例子效果如图:

下载本文
显示全文
专题