1js
$.extend({
pageing: function (bgn, ed, json, pagesize) {//开始读取位置 读取结束位置 要执行的json 每页显示的条数
var pagesizing_html = "";
var pagesizing_end = ed;
(pagesizing_end > json.length) ? pagesizing_end = json.length : pagesizing_end = ed;//如果数据行数小于每页显示的行数就将结束位置改为数据的长度
//读取json
for (var i = bgn; i < pagesizing_end; i++) {
pagesizing_html += "<tr><td>" + json[i].a + "</td><td>" + json[i].b + "</td><td>" + json[i].c + "</td></tr>";
}
var pagesizing_page = json.length;//获取json长度 即是 table所有的行数
var p = Math.ceil(pagesizing_page / pagesize);//长度除以每页显示的行数 就是分页数
var pagesizing_a = "";//存储分页
var this_aa = (bgn / pagesize) + 1;//存储结束页
var this_aaa;
((this_aa + 7) == p || (this_aa + 7) > p) ? this_aaa = p : this_aa = this_aa;
if (p == 1) { //页数只有一页
}
else if (p < 9) {//页数小于9页 就全部显示出来
pagesizing_a += "<a href='javascript:void(0)'style='background-color:#3CC480;color:white' >1</a>";
for (var i = 2; i <= p; i++) {
pagesizing_a += "<a href='javacsript:void(0)'>" + i + "</a>";//显示页数
}
}
else { //页数大于9页
//显示首页
pagesizing_a += "<a href='javascript:void(0)' >上一页</a>";
pagesizing_a += "<a href='javascript:void(0)'style='background-color:#3CC480;color:white' >1</a>";
for (var i = 2; i < 6; i++) {//加载出前五页
pagesizing_a += "<a href='javascript:void(0)'>" + i + "</a>";//显示页数
}
//显示最后一页
pagesizing_a += "<a href='javascript:void(0)'>...</a>";
pagesizing_a += "<a href='javascript:void(0)'>" + p + "</a>";
//显示下一页
pagesizing_a += "<a href='javascript:void(0)' >下一页</a>";
pagesizing_a += "<input type='number' value='1' min='1' max='" + p + "' style='width:40px;' id='pagesizing_num'/>";
pagesizing_a += "<a href='javascript:void(0)' style=''>跳转</a>";
}
//不同的表格设置跨列的值<tr><td colspan='3' style=''>" "</td></tr>"
pagesizing_html += "&" + pagesizing_a;//用&区分开显示内容与分页数
return pagesizing_html;
}
});
$(function () {
})
$.fn.extend({
aClick: function (returnJson, psize, this_parentID_new) {//读取的json 每页条数 显示分页的id
var this_parentId = $(this).parent().attr("id");//
var pagesiziing_a1 = 1;
var pagesiziing_a = 1;
$("#" + this_parentID_new).on("click", "a", function () {
var pagesizing_jsons = returnJson;//存储读取的json
var pagesizing_pagesize = psize;//存储每页条数
var pagesizing_pagesizes = Math.ceil(returnJson.length / psize);//总页数
//获取点击的a 获取页数值
var index = $(this).text();//存储点击的页数 pagesiziing_a--; index = pagesiziing_a;
if (index == "首页") { index = 1; pagesiziing_a = 1; }
else if (index == "跳转") { if (parseInt($("#pagesizing_num").val()) > pagesizing_pagesizes || parseInt($("#pagesizing_num").val()) < 1|| $("#pagesizing_num").val() == "") { return; } else { pagesiziing_a = parseInt($("#pagesizing_num").val()); } }
else if (index == "上一页") { if (((pagesiziing_a - 1)) < 1) { return; } else { pagesiziing_a -= 1; index = (pagesiziing_a); } }
else if (index == "下一页") { if (((pagesiziing_a + 1)) > pagesizing_pagesizes) { return; alert("下一页return") } else { pagesiziing_a += 1; index = (pagesiziing_a); } }
else if (index == "...") { return; }
//if (index == "末页") { index = pagesizing_pagesizes; pagesiziing_a = index; }
else { index = parseInt(index); pagesiziing_a = index; }
var begin = 0, end = 0;//存储开始结束页数
//计算开始位置 结束位置
begin = (pagesiziing_a - 1) * pagesizing_pagesize;//json读取开始位置
(begin + pagesizing_pagesize > pagesizing_jsons.length) ? end = pagesizing_jsons.length : end = begin + pagesizing_pagesize;//设置结束为止判断 读取的json是否超出了json 的长度
//参数(开始位置,结束位置[首次调用传每页条数],读取json,每页条数,当前的页数)
var this_html = $.pageing(begin, end, pagesizing_jsons, pagesizing_pagesize);
var html_sp = this_html.split('&');
$("#" + this_parentID_new + "_1").empty();
$("#" + this_parentID_new + "_1").append(html_sp[0]);
var p = Math.ceil(returnJson.length / psize);//获取总页数
//重新设置显示分页数
if (p > 8) {
var new_a = "";//存储分页 <tr><td colspan='3'>
var index1 = pagesiziing_a + 2;
if (pagesiziing_a > 4 && index1 < p) {//点击的页数第五页与总页数之间
$("#" + this_parentID_new).empty();//清空显示页数的位置
new_a += "<a href='javascript:void(0)'>上一页</a>";
new_a += "<a href='javascript:void(0)'>首页</a>";
new_a += "<a href='javascript:void(0)'>...</a>";
new_a += "<a href='javascript:void(0)'>" + (pagesiziing_a - 2) + "</a>";
new_a += "<a href='javascript:void(0)'>" + (pagesiziing_a - 1) + "</a>";
new_a += "<a href='javascript:void(0)' style='background-color:#3CC480;color:white'>" + pagesiziing_a + "</a>";
new_a += "<a href='javascript:void(0)'>" + (pagesiziing_a + 1) + "</a>";
new_a += "<a href='javascript:void(0)'>" + (pagesiziing_a + 2) + "</a>";
new_a += "<a href='javascript:void(0)'>...</a>";
new_a += "<a href='javascript:void(0)'>" + p + "</a>";
new_a += "<a href='javascript:void(0)' >下一页</a>";
new_a += "<input type='number' value='" + pagesiziing_a + "' min='1' max='" + pagesizing_pagesizes + "' style='width:40px;' id='pagesizing_num'/>";
new_a += "<a href='javascript:void(0)' style=''>跳转</a>";
$("#" + this_parentID_new).append(new_a);
//改变点击的a的背景色
}
else if ((pagesiziing_a + 2) > (p - 1)) {
$("#" + this_parentID_new).empty();//清空显示页数的位置
new_a += "<a href='javascript:void(0)'>上一页</a>";
new_a += "<a href='javascript:void(0)'>首页</a>";
new_a += "<a href='javascript:void(0)'>...</a>";
for (var i = (p - 5) ; i <= p; i++) {
new_a += "<a href='javascript:void(0)'>" + i + "</a>";
}
new_a += "<a href='javascript:void(0)' >下一页</a>";
new_a += "<input type='number' value='" + pagesiziing_a + "' min='1' max='" + pagesizing_pagesizes + "' style='width:40px;' id='pagesizing_num'/>";
new_a += "<a href='javascript:void(0)' style=''>跳转</a>";
$("#" + this_parentID_new).append(new_a);
var to_Change;
if (pagesiziing_a == p) { to_Change = 8 }
if (pagesiziing_a == (p - 1)) { to_Change = 7 }
if (pagesiziing_a == (p - 2)) { to_Change = 6 }
to_Change = parseInt(to_Change);
$("#" + this_parentID_new).children("a").eq((to_Change)).css({ "background-color": "#3CC480", "color": "white" });
}
else if (pagesiziing_a < 5) {
$("#" + this_parentID_new).empty();//清空显示页数的位置
new_a += "<a href='javascript:void(0)'>上一页</a>";
for (var i = 1; i < 6; i++) {
new_a += "<a href='javascript:void(0)'>" + i + "</a>";
}
new_a += "<a href='javascript:void(0)'>...</a>";
new_a += "<a href='javascript:void(0)'>" + p + "</a>";
new_a += "<a href='javascript:void(0)' >下一页</a>";
new_a += "<input type='number' value='" + pagesiziing_a + "' min='1' max='" + pagesizing_pagesizes + "' style='width:40px;' id='pagesizing_num'/>";
new_a += "<a href='javascript:void(0)' style=''>跳转</a>";
$("#" + this_parentID_new).append(new_a);
$("#" + this_parentID_new).children("a").eq((pagesiziing_a)).css({ "background-color": "#3CC480", "color": "white" });
}
}
else {//小于9页
$(this).css({ "background": "#3CC480", "color": "white" }).siblings().css({ "background": "white", "color": "black" });
}
});
}
})
2:css
* { margin:0; padding:0; color:black; } .pagesize { background-color: #0ff; } table { border-collapse: collapse; } table tr td { border: 1px solid black; } a { text-decoration: none; display:inline-block; width:40px; /*position:relative; float:left;*/ font-size:13px; /*border:1px solid #33CCBD;*/ } table { text-align:center; } table tbody tr:nth-child(odd) { background-color:rgba(77,179,138,0.8); } #tbl_all thead td{ width:120px; } #tbl_all tbody td { width:120px; } #tbl_all tfoot{ text-align:center; height:40px; line-height:40px; }
3:html
<div style="width:1000px;margin:0 auto;border:1px solid black"> <table style="margin: 0 auto" id="tbl_all"> <thead> <tr> <td>姓名</td> <td>性别</td> <td>班级</td> </tr> </thead> <tbody id="tbl22_1"> </tbody> </table> <!--显示分页位置--> <div id="tbl22" style="margin:0 auto;text-align:center;"></div> <br /> </div>
4:js
var pagesize = 3;//每一页显示的条数 var begin = 0;//记录开始行 var end = 0;//记录结束行 $(function () { var newJson = { "name": [ { "a": "张三", "b": "男", "c": "三年一班" }, { "a": "李四", "b": "女", "c": "四年二班" }, { "a": "王五", "b": "男", "c": "五年三班" }, { "a": "哇哈哈", "b": "未知", "c": "宗庆后" }, { "a": "营养快线", "b": "未知", "c": "李宗盛" }, { "a": "6", "b": "b", "c": "c" }, { "a": "7", "b": "b", "c": "c" }, { "a": "8", "b": "b", "c": "c" }, { "a": "9", "b": "b", "c": "c" }, { "a": "10", "b": "b", "c": "c" }, { "a": "11", "b": "b", "c": "c" }, { "a": "12", "b": "b", "c": "c" }, { "a": "13", "b": "b", "c": "c" }, { "a": "14", "b": "b", "c": "c" }, { "a": "15", "b": "b", "c": "c" }, { "a": "10", "b": "b", "c": "c" }, { "a": "11", "b": "b", "c": "c" }, { "a": "12", "b": "b", "c": "c" }, { "a": "13", "b": "b", "c": "c" }, { "a": "14", "b": "b", "c": "c" }, { "a": "15", "b": "b", "c": "c" }, { "a": "5", "b": "b", "c": "c" }, { "a": "6", "b": "b", "c": "c" }, { "a": "7", "b": "b", "c": "c" }, { "a": "8", "b": "b", "c": "c" }, { "a": "9", "b": "b", "c": "c" }, { "a": "10", "b": "b", "c": "c" }, { "a": "11", "b": "b", "c": "c" }, { "a": "12", "b": "b", "c": "c" }, { "a": "13", "b": "b", "c": "c" }, { "a": "14", "b": "b", "c": "c" }, { "a": "15", "b": "b", "c": "c" }, { "a": "10", "b": "b", "c": "c" }, { "a": "11", "b": "b", "c": "c" }, { "a": "12", "b": "b", "c": "c" }, { "a": "13", "b": "b", "c": "c" }, { "a": "14", "b": "b", "c": "c" }, { "a": "15", "b": "b", "c": "c" } ] } var returnJson = [ { "a": "1", "b": "b", "c": "c" }, { "a": "2", "b": "b", "c": "c" }, { "a": "3", "b": "b", "c": "c" }, { "a": "4", "b": "b", "c": "c" }, { "a": "5", "b": "b", "c": "c" }, { "a": "6", "b": "b", "c": "c" }, { "a": "7", "b": "b", "c": "c" } ]; var returnJson1 = [ { "a": "21", "b": "b", "c": "c" }, { "a": "22", "b": "b", "c": "c" }, { "a": "23", "b": "b", "c": "c" }, { "a": "24", "b": "b", "c": "c" }, { "a": "25", "b": "b", "c": "c" }, { "a": "26", "b": "b", "c": "c" }, { "a": "27", "b": "b", "c": "c" }, { "a": "23", "b": "b", "c": "c" }, { "a": "24", "b": "b", "c": "c" }, { "a": "25", "b": "b", "c": "c" } ]; $("#btn").click(function () { //显示第一页、分页 参数(开始位置,结束位置[首次调用传每页条数],读取json,每页条数) $("#tbl22_1").empty(); $("#tbl22_1").append($.pageing(begin, pagesize, newJson.name, pagesize).split("&")[0]);//table的tbody $("#tbl22").append($.pageing(begin, pagesize, newJson.name, pagesize).split("&")[1]);//tbody的tfoot //点击分页事件tfoot 参数(json,每页条数) $("#tbl22").aClick(newJson.name, pagesize,"tbl22"); }); })
5:使用规则
显示数据得table的tbody的id是显示分页的id_1