!(function($,window, document, undefined){
function Plugin(ele,options){
//默认参数设置
this.defaults={
param1:'1',
param2:'2',
param3:'3',
param4:[{'name':'aa'},{'name':'bb'},{'name':'cc'}]
};
//合并传入的参数
this.options=$.extend({},this.defaults,options||{});
//标记当前对象
this.$ele=ele;
//添加模板
var tpl = '<ul class="tplWrapper">';
for(var i=0;i<this.options.param4.length;i++){
tpl+='<li>'+this.options.param4[i]['name']+'</li>';
}
tpl+='</ul>';
this.$ele.append(tpl);
//执行初始化操作
this.init();
}
Plugin.prototype={
init:function(){
//初始化操作
this.initFn();
},
initFn:function(){
//定义初始化操作
console.info('initFn');
},
otherFn:function(){
//定义可调用方法
console.info('otherFn');
this.$ele.find('.tplWrapper').children('li').css({'background':'red'});
return this.$ele;//返回当前对象供链式调用
}
}
$.fn.plugin=function(options){
return new Plugin(this,options);
};
})(jQuery, window, document);
var leyi=$('.nihao1').plugin();
leyi.otherFn().hide().show();//链式调用