复制代码 代码如下:
/**
* ajax分页功能
* 在需要分页的地方添加
* 作为分页组件容器元素。
* pagecount 总页数
* currentpage 当前页数
* container 带有pagination类的ol容器元素
* loaddata 用于加载数据的函数
* version 1.0
*/
pagination : function(pagecount, currentpage, container, loaddata) {
this.startpage = 1;
this.endpage = pagecount;
this.mindisplaypagecount = 5;
var c = $(container);
var paginationlinks = ;
if(pagecount == 1) {
c.css({'visibility': 'hidden'});
return;
}
if(pagecount > this.mindisplaypagecount + 1) {
if(currentpage - this.mindisplaypagecount > 0) {
this.startpage = currentpage - this.mindisplaypagecount;
}
if((currentpage + this.mindisplaypagecount - 1) this.endpage = currentpage + this.mindisplaypagecount - 1;
} else {
this.endpage = pagecount;
}
}
paginationlinks += ;
if(currentpage != 1) {
paginationlinks += 《上一页;
}
for(var i = this.startpage; i if(currentpage == i) {
paginationlinks += + currentpage + ;
} else {
paginationlinks += + i + ;
}
}
if(currentpage paginationlinks += 下一页》;
}
paginationlinks += ;
c.html(paginationlinks);
var links = $(#page_number ul li a);
links.each(function(index) {
if(!(this.innerhtml == 上一页 || this.innerhtml == 下一页)) {
$(this).click(function(event) {
alert(links[index].innerhtml);
loaddata(curtaskid,,,parseint(links[index].innerhtml));
pagination(pagecount, parseint(links[index].innerhtml), container, loaddata);
});
}
});
var prevpage = $(#prevpage);
var nextpage = $(#nextpage);
c.css({'visibility': 'visible'});
if(prevpage) {
prevpage.click(function(event) {
loaddata(curtaskid,,,currentpage - 1);
pagination(pagecount, currentpage - 1, container, loaddata);
});
}
if(nextpage) {
nextpage.click(function(event) {
loaddata(curtaskid,,,currentpage + 1);
pagination(pagecount, currentpage + 1, container, loaddata);
});
}
}
loaddata为加载数据的函数,这个函数需要定义一个当前页数的参数,比如:
复制代码 代码如下:
var currentpage = 1;
loadexamlist(currentpage){
//todo
pagination(5,currentpage,$(ul),loadexamlist);
};
5是总页数,1是当前页数,$(ul)是要将页码按钮存放的位置,loadexamlist是点击上一页、下一页或者页码的时候调用的函数。
