完善分页插件,增加内部成员,确定控件是否已经初始化过一次。
2016-08-09 12:28
260 查看
//代码整理:懒人之家 www.lanrenzhijia.com
//分页插件
/**
2014-08-05 ch
2016-07-19 Modified By RenGuoQiang
**/
(function($){
var ms = {
init:function(obj,args){
return (function(){
ms.fillHtml(obj,args);
ms.bindEvent(obj,args);
})();
},
//填充html
fillHtml:function(obj,args){
return (function(){
obj.empty();
//上一页
if(args.current > 1){
obj.append('<a href="javascript:;" class="prevPage"><</a>');
}else{
obj.remove('.prevPage');
obj.append('<span class="disabled"><</span>');
}
//中间页码
if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
}
if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
obj.append('<span>...</span>');
}
var start = args.current -1,end = args.current+1;
if((start > 1 && args.current < 4)||args.current == 1){
end++;
}
if(args.current > args.pageCount-4 && args.current >= args.pageCount){
start--;
}
for (;start <= end; start++) {
if(start <= args.pageCount && start >= 1){
if(start != args.current){
obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
}else{
obj.append('<span class="current">'+ start +'</span>');
}
}
}
if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
obj.append('<span>...</span>');
}
if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
}
//下一页
if(args.current < args.pageCount){
obj.append('<a href="javascript:;" class="nextPage">></a>');
}else{
obj.remove('.nextPage');
obj.append('<span class="disabled">></span>');
}
})();
},
//绑定事件
bindEvent:function(obj,args){
return (function(){
obj.on("click","a.tcdNumber",function(){
var current = parseInt($(this).text());
ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current);
}
});
//上一页
obj.on("click","a.prevPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current-1);
}
});
//下一页
obj.on("click","a.nextPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current+1);
}
});
})();
}
}
$.fn.createPage = function(options){
var inited = false;
var args = $.extend({
pageCount : 10,
current : 1,
backFn : function(){}
},options);
alert(inited);
if(!inited) {
ms.init(this,args);
inited = true;
}
}
})(jQuery);
//分页插件
/**
2014-08-05 ch
2016-07-19 Modified By RenGuoQiang
**/
(function($){
var ms = {
init:function(obj,args){
return (function(){
ms.fillHtml(obj,args);
ms.bindEvent(obj,args);
})();
},
//填充html
fillHtml:function(obj,args){
return (function(){
obj.empty();
//上一页
if(args.current > 1){
obj.append('<a href="javascript:;" class="prevPage"><</a>');
}else{
obj.remove('.prevPage');
obj.append('<span class="disabled"><</span>');
}
//中间页码
if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
}
if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
obj.append('<span>...</span>');
}
var start = args.current -1,end = args.current+1;
if((start > 1 && args.current < 4)||args.current == 1){
end++;
}
if(args.current > args.pageCount-4 && args.current >= args.pageCount){
start--;
}
for (;start <= end; start++) {
if(start <= args.pageCount && start >= 1){
if(start != args.current){
obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
}else{
obj.append('<span class="current">'+ start +'</span>');
}
}
}
if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
obj.append('<span>...</span>');
}
if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
}
//下一页
if(args.current < args.pageCount){
obj.append('<a href="javascript:;" class="nextPage">></a>');
}else{
obj.remove('.nextPage');
obj.append('<span class="disabled">></span>');
}
})();
},
//绑定事件
bindEvent:function(obj,args){
return (function(){
obj.on("click","a.tcdNumber",function(){
var current = parseInt($(this).text());
ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current);
}
});
//上一页
obj.on("click","a.prevPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current-1);
}
});
//下一页
obj.on("click","a.nextPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current+1);
}
});
})();
}
}
$.fn.createPage = function(options){
var inited = false;
var args = $.extend({
pageCount : 10,
current : 1,
backFn : function(){}
},options);
alert(inited);
if(!inited) {
ms.init(this,args);
inited = true;
}
}
})(jQuery);
相关文章推荐
- 自定义分页控件(四)完善设计时支持和增加分页模式
- 这几天看petshop,也做了一个repeator,可分页的,还没完善就急于放上来了,希望增加点人气
- 发布一个未完善的分页DataList控件 -- PageDataList
- struts2自带的验证机制, 验证输入是否为空时刷新一次增加一条提示.
- 完善自定义分页控件(转)
- 【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式
- 用Javascript判断IE是否已经安装Activex插件和禁用ActiveX
- jQuery formValidator表单验证插件2.9.3版本已经支持对所有客户端控件的验证
- 【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式
- WEB下载控件/WEB路径选择控件/AJAX下载文件(需求:一政府要求有的文件内部只能下载一次,当然是用户成功将文件下载完)
- DotNetTextBoxV3.2.0控件增加导入Word文档功能的外挂插件!
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
- jQuery formValidator表单验证插件2.9.3版本已经支持对所有客户端控件的验证
- 关于TdxTreeList控件中如何判断点CHECK标题是否已经选中或取消自己的问题?
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.7 增加了一个js函数的分页方式。
- (C#)利用反射动态调用类成员、动态加载控件以及插件编程思想
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.4 增加了几个分页算法
- 用Javascript判断IE是否已经安装Activex插件和禁用ActiveX
- c# winForm TableLayoutPanel学习 合并行的布局及动态增加删除内部控件
- 给分页控件增加一列 编号