翻页效果如下:
(function($) {
$.fn.extend({
page: function(setting) {
var defaultSet = {
limit: 10, //每页显示的记录条数
pageCount: 1, //总页数
pageIndex: 1 //当前页码
};
var setting = $.extend(defaultSet, setting);
// var hogan = require("Hoganjs");
var pageArray = []; //存放页码的数组
if(setting.pageIndex == 1){
pageArray.push("<a class='disable'>«</a>");
}else{
pageArray.push("<a>«</a>");
}
//当总页数小于10时,不需要省略号
if(setting.pageCount <= 12){
for(var i = 1 ; i <= setting.pageCount ; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
}else{
if( parseInt(setting.pageIndex,10) >=4 && parseInt(setting.pageIndex,10) < (setting.pageCount - 8)){
pageArray.push(" <a value="+1+">" + 1 + "</a ><a style='border:0'>...</a>");
for(var i = parseInt(setting.pageIndex,10,10,10) ; i <= parseInt(setting.pageIndex,10,10) + 5 ; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
pageArray.push("<a style='border:0'>...</a>");
for(var i = setting.pageCount - 2 ; i <= setting.pageCount; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
}else if(parseInt(setting.pageIndex,10) >= (setting.pageCount - 8)){
pageArray.push(" <a value="+1+">" + 1 + "</a ><a style='border:0'>...</a>");
for(var i = setting.pageCount - 8 ; i <= setting.pageCount; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
}else{
for(var i = 1 ; i <= 8 ; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
pageArray.push("<a style='border:0'>...</a>");
for(var i = setting.pageCount - 2 ; i <= setting.pageCount; i ++){
this.setPageItem(pageArray, i, setting.pageIndex);
}
}
}
if(setting.pageIndex == setting.pageCount){
pageArray.push("<a class='disable'>»</a>");
}else{
pageArray.push("<a>»</a>");
}
$("#page").html(pageArray.join(""));
},
setPageItem: function(array, index, pageIndex) {
if (index == pageIndex) {
array.push("<a class='cur' value="+pageIndex+">" + pageIndex + "</a>");
} else {
array.push(" <a value="+index+">" + index + "</a > ");
}
}
});
})(jQuery)