JavaScript的jQuery庫插件的簡要開發(fā)指南
jQuery 插件通常分兩類。
- 基于選擇器的插件(支持鏈式操作)
- 不基于選擇器的插件(不支持鏈式操作)
前段時間簡單學習了 jQuery 插件開發(fā),開發(fā)了兩個簡單的插件,在此對兩種插件的開發(fā)模式做簡要總結(jié)。
基于選擇器的插件
通常開發(fā)模式如下:
(function($, window, undefined) { $.fn.PluginName = function(opts) { var defaults = { // 插件自定義選項的默認值 }; // 以用戶的自定義選項覆蓋默認選項 var options = $.extend(defaults, opts || {}); return this.each(function() { // 讓插件支持鏈式操作 // 在這里編寫插件功能代碼 }); }; })(jQuery, window);
首先,創(chuàng)建一個匿名的自執(zhí)行函數(shù),形參為 $ 、 window 和 undefined,實參為 jQuery 和 window。
嗯?為什么沒有為 undefined 對應地傳入一個實參呢?這是一個小技巧,考慮到 undefined 這個變量名可能在其它地方的 JavaScript 代碼賦過值,失去了它真正的意義,所以這里干脆不傳入這個參數(shù),以確保它在那個匿名自執(zhí)行函數(shù)中是真正的 undefined。
jQuery 傳入后對應為 $,這樣可以保證插件內(nèi)調(diào)用的 $ 一定是 jQuery 而非 Prototype 之類的庫。
此類插件的調(diào)用方式一般為 $(selector).PluginName(); 這種形式。
此類具體示例可參考 https://github.com/libuchao/KTwitter
不基于選擇器的插件
由于此類插件不依賴于選擇器,所以也無鏈式操作一說。一般開發(fā)模式如下:
(function($, window, undefined) { $.PluginName = function(opts) { var defaults = { // 插件自定義選項的默認值 }; // 以用戶的自定義選項覆蓋默認選項 var options = $.extend(defaults, opts || {}); // 在這里編寫插件功能代碼 }; })(jQuery, window);
此類插件的調(diào)用形式一般為 $(selector).PluginName(); 這種形式。
相關(guān)文章
jquery實現(xiàn)網(wǎng)站列表切換效果的2種方法
這篇文章主要為大家詳細介紹了jquery實現(xiàn)網(wǎng)站列表切換效果的2種方法,供大家參考,感興趣的小伙伴們可以參考一下2016-08-08jQuery控制文本框只能輸入數(shù)字和字母及使用方法
這篇文章主要介紹了jQuery控制文本框只能輸入數(shù)字和字母及使用方法的相關(guān)資料,非常不錯而且實用性也很高,需要的朋友可以參考下2016-05-05修改jquery.lazyload.js實現(xiàn)頁面延遲載入
jquery.lazyload.js并未真正的實現(xiàn)頁面延遲載入,它的實現(xiàn)原理是頁面載入完畢后將html中所有img標簽的src屬性都替換為空,把src的初始值存儲到一個自定義的屬性中,當頁面滾動到img標簽位置時再將圖片載入進來。2010-12-12在Web項目中引入Jquery插件報錯的完美解決方案(圖解)
這篇文章主要介紹了在Web項目中引入Jquery插件報錯的完美解決方案的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09幻燈片帶網(wǎng)頁設計中的20個奇妙應用示例小結(jié)
幻燈片效果在網(wǎng)站中的使用非常流行,使用幻燈片效果既能在有限的網(wǎng)頁空間內(nèi)展示更多的內(nèi)容,又能增強視覺趣味,網(wǎng)上眾多的幻燈片插件資源也使得幻燈片的實現(xiàn)變得十分簡單2012-05-05jQuery 移動端拖拽(模塊化開發(fā),觸摸事件,webpack)
這篇文章主要介紹了jQuery 移動端拖拽(模塊化開發(fā),觸摸事件,webpack)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-10-10使用jquery animate創(chuàng)建平滑滾動效果(可以是到頂部、到底部或指定地方)
這篇文章主要介紹了使用jquery animate創(chuàng)建平滑滾動效果,效果可以滾動到頂部、到底部或頁面中指定地方,生要的是非常平滑,很舒服,需要的朋友可以參考下2014-05-05