![]() |
#2
tw9202172011-06-03 16:45
jQuery.pagefoot = {
// 生成分页脚 create : function(_this, s) { var pageCount = 0; // 计算总页码 pageCount = (s.count / s.pagesize <= 0) ? 1 : (parseInt(s.count / s.pagesize) + ((s.count % s.pagesize > 0) ? 1 : 0)); s.current = (s.current > pageCount) ? pageCount : s.current; // 循环生成页码 var strPage = ""; // 创建上一页 if (s.current <= 1) { strPage += "<span class=\"disabled\">" + s.previous + "</span>"; } else { strPage += "<a href=\"" + (s.current - 1) + "\">" + s.previous + "</a>"; } // 开始的页码 var startP = 1; // 页码左右显示最大页码数 var anyMore = parseInt(s.displaynum / 2, 10); // 结束的页码 var endP = (s.current + anyMore) > pageCount ? pageCount : s.current + anyMore; // 可显示的页码数(剩N个用来显示最后N页的页码) var pCount = s.pagesize - s.displaylastNum; if (s.current > (s.displaylastNum + anyMore)) {// 页码数太多时,则隐藏多余的页码 startP = s.current - anyMore; for (var i = 1; i <= s.displaylastNum; i++) { strPage += "<a href=\"" + i + "\">" + i + "</a>"; } strPage += "..."; } if (s.current + s.displaynum < pageCount) {// 页码数太多时,则隐藏前面多余的页码 endP = s.current + anyMore; } else { endP = pageCount; } for (i = startP; i <= endP; i++) { if (s.current == i) { strPage += "<span class=\"current\">" + i + "</span>"; } else { strPage += "<a href=\"" + i + "\">" + i + "</a>"; } } if (s.current + s.displaynum < pageCount) {// 页码数太多时,则隐藏后面多余的页码 strPage += "..."; for (i = pageCount - s.displaylastNum + 1; i <= pageCount; i++) { strPage += "<a href=\"" + i + "\">" + i + "</a>"; } } // 创建下一页 if (s.current >= pageCount) { strPage += "<span class=\"disabled\">" + s.next + "</span>"; } else { strPage += "<a href=\"" + (s.current + 1) + "\">" + s.next + "</a>"; } $(_this).empty().append(strPage).find("a").click( function() { // 得到翻页的页码 var ln = this.href.lastIndexOf("/"); var href = this.href; var page = parseInt(href.substring(ln + 1, href.length)); s.current = page; // 外部取消翻页时... if (!$.pagefoot.paging(page, s.paging)) return false; $.pagefoot.create(_this, s); return false; }); return this; }, paging : function(page, callback) { if (callback) { if (callback(page) == false) return false; } return true; } } jQuery.fn.pagefoot = function(opt) { /* 参数定义 */ var setting = { pagesize :10 // 每页显示的页码数 , count :0 // 数据条数 , css :"mj_pagefoot" // 分页脚css样式类 , current :1 // 当前页码 , displaynum :7 // 中间显示页码数 , displaylastNum :5 // 最后显示的页码数 , previous :"上一页" // 上一页显示样式 , next :"下一页" // 下一页显示样式 , paging :null // 分页事件触发时callback函数 }; opt = opt || {} $.extend(setting, opt); return this.each( function() { $(this).addClass(setting.css); $.pagefoot.create(this, setting); }); } 哇靠.忘跟LZ說 . 我上其他地方拷貝的.要寫有點難度.LZ為什么不用控件呢. ![]() |
一直在这个问题上纠结,谁有代码的发上来参考一下吧!感谢感谢!