15.插件化

15.1  jQuery的插件的通常寫法app

 

 1         (function ($) {
 2             //擴展這個方法到jQuery
 3             $.fn.extend({
 4                 //插件名字
 5                 pluginname: function () {
 6                     return this.each(function () {
 7                         //在這裏編寫相應代碼進行處理
 8                     });
 9                 }
10             })
11             //傳遞jQuery到內層做用域去,若是window,document在裏面用得多,也可在這裏傳入
12         })(jQuery);

 

 1         (function ($) {//這個東西叫IIFE
 2             //擴展這個方法到jQuery
 3             var Plugin = function () {
 4 
 5             }
 6             Plugin.prototype = {};
 7             $.fn.extend({
 8                 //插件名字
 9                 pluginname: function (options) {//用戶的統一配置對象或方法名
10                     //遍歷匹配元素的集合
11                     var args = [].slice.call(arguments, 1);
12                     return this.each(function () {
13                         //在這裏編寫相應代碼進行處理
14                         var ui = $._data(this, pluginname);
15                         if (!ui) {
16                             var opts = $.extend(true, {}, $.fn.pluginname.defaults, typeof options === "object" ? options : {});
17                             ui = new Plugin(opts, this);
18                             $._data(this, pluginnanem, ui);
19                         }
20                         if (typeof options === "string" && typeof ui[options] === "function") {
21                             ui[options].apply(ui, args);//執行插件的方法
22                         }
23                     });
24                 }
25             });
26             $.fn.pluginname.defaults = {/**/ }//默認配置對象
27             //傳遞jQuery到內層做用域去,若是window,document在裏面用得多,也可在這裏傳入
28         })(jQuery);

相關文章
相關標籤/搜索