方式一(自定义对象):

(function($, window, document) {

 var Plugin, defaults, pluginName;

调用时的函数名:
    pluginName = "slidesjs";
     

默认配置:
    defaults= {
      width: 940,
      height: 528,
      callback: {
        loaded: function() {},
        start: function() {},
        complete: function() {}
      }
    };
 
构建自定义对象:
    Plugin = (function() {
      function Plugin(element, options) {
        this.element = element;
        this.options = $.extend(true, {}, defaults, options);          //拓展用户自定义参数
        this._defaults = defaults;
        this._name = pluginName;
        this.init();
      }
      return Plugin;
    })();
 
拓展一系列方法:
Plugin.prototype.init  = function() { ... }
Plugin.prototype.next = function() { ... }
 ...  
 
拓展到jQuery的fn上:
return $.fn[pluginName] = function(options) {
//把选中的每个元素都进行实例化

return this.each(function() {
        if (!$.data(this, "plugin_" + pluginName)) {

          return $.data(this, "plugin_" + pluginName, new Plugin(this, options));
        }
      });
  };
 
 })(jQuery, window, document);
 
使用:
$(function() {
      $('#slides').slidesjs({
        width: 940,
        height: 528
      });
  });
 
或者这样扩展进jQuery也可以:
$.fn.Swipe = function(params) {
      return this.each(function() {
          $(this).data('Swipe', new Swipe($(this)[0], params));
      });
  }
 
 
方式2(简单点的):
(function($) {
    "use strict";

$.fn.boxRefresh = function(options) {
        var _option= $.extend({
            trigger: ".refresh-btn",
            onLoadStart: function(box) {},
            onLoadDone: function(box) {}
        }, options);
        return this.each(function() { ... });
    };

})(jQuery);
 
另一种方式,使用extend:
(function(f) {
    jQuery.fn.extend({slimScroll: function(h) {
                   ...
    }});
 
    jQuery.fn.extend({slimscroll: jQuery.fn.slimScroll})
})(jQuery);
 

最新文章

  1. OpenSceneGraph 笔记--如何导出三角形数据
  2. 线程安全的无锁RingBuffer的实现
  3. 使用extjs6官方模板admin-dashboard
  4. UUID UDID
  5. CUDA程序设计(三)
  6. js中对radio和checkbox是否选中的判断
  7. (转)云存储:阿里云OSS 、又拍云和 七牛 的比较
  8. [转]C#中的?和??
  9. lintcode :Count 1 in Binary 二进制中有多少个1
  10. Jenkins User on Apt-Get Install Installation
  11. MySQL索引的创建,查看,删除
  12. GMap.Net
  13. bat自动创建文件夹(以当前时间命名)
  14. JS中 事件冒泡与事件捕获
  15. Web前端原生JavaScript浅谈轮播图
  16. 软件工程(FZU2015) 助教总结
  17. Javascript中的this指向。
  18. InputStream只能读取一次的解决办法 C# byte[] 和Stream转换
  19. C# 压缩文件 的创建
  20. golang优先队列

热门文章

  1. LInux ugo权限详解
  2. /MD、/MT、/LD( 使用 多线程版本 运行时库的C runtime library)
  3. 用matlab给图像加高斯噪声和椒盐噪声(不调用imnoise函数)
  4. Redis info 参数详解
  5. Linux-jdk1.7-tomcat7 简易安装
  6. Python实战之列表list的详细简单练习2
  7. Promise 对象
  8. jQuery form插件使用详解
  9. Activiti 用户任务关联自定义表单
  10. 理解HTTPS