妹子UI,http://amazeui.org,在这儿顺便帮他打下广告,我个人觉得比Bootstrap漂亮,于是,我就选择了基于它的UI写出来自己的分页控件。
paginator.js的内容如下:
(function ($) {
$.fn.paginator = function (options) {
//this指向当前的选择器
var config = {
url: "",
pageParent: "",
totalBars: -1,
limit: -1,
offset: 1,
callback: null
}
//合并参数
var opts = $.extend(config, options);
opts.totalBars = Math.ceil(opts.totalBars / opts.limit);
//计算按钮的总个数
//获取offset参数
var queryString = function (url) {
var offset = (url.split("?")[1]).split("=")[1];
return parseInt(offset);
}
//ajax核心方法,用于分页的数据操作
var ajaxCore = function (offset, fn) {
$.ajax({
"url": opts.url,
"data": {
"offset": offset,
"limit": opts.limit
},
"dataType": "JSON",
"method": "POST",
"success": fn
});
}
//重新装配分页按钮
var pageCore = function (offset) {
if (opts.offset == offset) {
return;
} //如果是当前页面,那么就什么事都不用干了!
else {
ajaxCore(offset, opts.callback);
$(opts.pageParent).empty();
//否则,清空所有的节点,重新向DOM插入新的分页按钮
var output = "";
var nextBar = offset == opts.totalBars ? "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">»</a></li>" : "<li><a yxhref=\"" + opts.url + (offset + 1) + "\">»</a></li>";
var preBar = offset == 1 ? "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">«</a><