html代码:
<!-- 页码 -->
<div id="pageNumberDiv">
<ul class="pagination"></ul>
</div>
js代码:
function initPage(pageInfo){
//清除掉之前的页码
$(".pagination li").remove();
var total = pageInfo.allPageNum;//总页数
var pageNum = pageInfo.curPageNum;//当前页
var firstPage = 1;//第一页
var prePage = pageNum - 1;//上一页
var nextPage = pageNum + 1;//下一页
var lastPage = total;
// 先拼接点击事件 ,用于解决字符串拼接的问题
var firstPageStr = "retrieve(1)";
var prePageStr = "retrieve("+prePage+")";
var nextPageStr = "retrieve("+nextPage+")";
var lastPageStr = "retrieve("+lastPage+")";
//做判断,满足某些条件时,不能点击
if(firstPage==pageNum){
$(".pagination").append("<li><a>首页</a></li>");
}else{
$(".pagination").append("<li><a οnclick="+firstPageStr+">首页</a></li>");
}
if(prePage<=0){
$(".pagination").append("<li><a>上一页</a></li>");
}else{
$(".pagination").append("<li><a οnclick="+prePageStr+">上一页</a></li>");
}
//生成中间的页面
if(pageNum<=3){
for(var i=1; i<=(total<=5?total:5); i++){
if(i==pageNum){
$(".pagination").append("<li><a style='color:black'>"+i+"</a></li>");
}else{
var pageNumber = "retrieve("+i+")";
$(".pagination").append("<li><a οnclick="+pageNumber+">"+ i+ "</a></li>");
}
}
}else if(pageNum>3 && total<=(pageNum+2)){
for(var i=total-4; i<=total; i++){
if(i==pageNum){
$(".pagination").append("<li><a style='color:black'>"+i+"</a></li>");
}else{
var pageNumber = "retrieve("+i+")";
$(".pagination").append("<li><a οnclick="+pageNumber+">"+ i+ "</a></li>");
}
}
}else if(pageNum>3 && total>(pageNum+2)){
for(var i=pageNum-2; i<=pageNum+2; i++){
if(i==pageNum){
$(".pagination").append("<li><a style='color:black'>"+i+"</a></li>");
}else{
var pageNumber = "retrieve("+i+")";
$(".pagination").append("<li><a οnclick="+pageNumber+">"+ i+ "</a></li>");
}
}
}
if(nextPage<=0 || nextPage > total){
$(".pagination").append("<li><a>下一页</a></li>");
}else{
$(".pagination").append("<li><a οnclick="+nextPageStr+">下一页</a></li>");
}
if(lastPage==pageNum){
$(".pagination").append("<li><a>尾页</a></li>");
}else{
$(".pagination").append("<li><a οnclick="+lastPageStr+">尾页</a></li>");
}
}