var pagelist = caculatePage(data.info.page, data.info.total);
var page_paginate = template('page_paginate', pagelist);
function caculatePage(p, t) {
var page = p || 1;
var total = t || page;
var max = null,
min = null,
pageNum = [];
if(page >= 4) {
max = (page + 2) > total ? total : page + 2;
var count = 4 - (max - page);
min = (page - count) <= 0 ? 1 : (page-count);
} else {
min = 1;
max = 5 > total ? total : 5;
}
for(var i = min; i <= max; i++) {
pageNum.push(i);
}
return {
pagelist: pageNum,
p: page,
total:t
};
}
<script type="text/html" id="page_paginate">
<div class="list_length_page ">
<ul>
<!--[if (total > 5) {]-->
<li class="first"><a href="javascript:void(0)">首页</a></li>
<!--[}]-->
<!--[for(k = 0; k < pagelist.length; k++) {]-->
<!--[if (pagelist[k] === p) {]-->
<li class="active"><a href="javascript:void(0)"><!--[=pagelist[k]]--></a></li>
<!--[} else {]-->
<li><a href="javascript:void(0)"><!--[=pagelist[k]]--></a></li>
<!--[}]-->
<!--[}]-->
<!--[if (total > 5) {]-->
<input type="hidden" value="<!--[=total]-->" id="lp">
<li class="last"><a href="javascript:void(0)" >尾页</a></li>
<!--[}]-->
</ul>
</div>
</script>
$("#"+_self.option.page).delegate(".list_length_page li", "click", function() {
if($(this).hasClass("active")) {
return ;
} else if($(this).hasClass("first")){
_self.option.p = 1;
_self.reloadTable("page");
}else if($(this).hasClass("last")){
_self.option.p = $("#lp").val();
_self.reloadTable("page");
}else{
_self.option.p = $(this).find("a").text();
_self.reloadTable("page");
}
});