jq插件模板

  !(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();//链式调用

  

原文地址:https://www.cnblogs.com/leyi/p/4908057.html