推薦一款jQuery插件模板
我使用jQuery已經(jīng)有相當(dāng)長(zhǎng)的時(shí)間了,并且我會(huì)常常為它寫一些插件(plugin)。我嘗試過用不同的方式去寫,現(xiàn)在這個(gè)模板是我最喜歡的:
;(function($) {
// multiple plugins can go here
(function(pluginName) {
var defaults = {
color: 'black',
testFor: function(div) {
return true;
}
};
$.fn[pluginName] = function(options) {
options = $.extend(true, {}, defaults, options);
return this.each(function() {
var elem = this,
$elem = $(elem);
// heres the guts of the plugin
if (options.testFor(elem)) {
$elem.css({
borderWidth: 1,
borderStyle: 'solid',
borderColor: options.color
});
}
});
};
$.fn[pluginName].defaults = defaults;
})('borderize');
})(jQuery);
//下面是用法
$('div').borderize();
$('div').borderize({color: 'red'});
以下是我喜歡這種模板的原因
1. 你仍然可以訪問里面的默認(rèn)選項(xiàng),即便它被重寫了(簡(jiǎn)單地通過父屬性的訪問)
2. 通過修改pluginName即可更改插件的名字。(這種方式對(duì)代碼壓縮也非常有利)
第#1點(diǎn)非常強(qiáng)大,比如說我們希望復(fù)寫這個(gè)方法,但是仍然希望保留原來的方法,我們可以看下面的例子:
$('.borderize').borderize({
testFor: function(elem) {
var $elem = $(elem);
if (elem.is('.inactive')) {
return false;
} else {
// calling "parent" function
return $.fn.borderize.defaults.testFor.apply(this, arguments);
}
}
});
We can even do this with regular properties like this
var someVarThatMayBeSet = false;
/* code ... */
$('.borderize').borderize({
color: someVarThatMayBeSet ? 'red' : $.fn.borderize.defaults.color
});
小伙伴們,你們也會(huì)喜歡上這款jQuery插件模板的吧,他實(shí)在是太靈活了。
- jquery ztree實(shí)現(xiàn)下拉樹形框使用到了json數(shù)據(jù)
- jquery.simple.tree插件 更簡(jiǎn)單,兼容性更好的無限樹插件
- 推薦8款jQuery輕量級(jí)樹形Tree插件
- 無限樹Jquery插件zTree的常用功能特性總結(jié)
- 一個(gè)基于jQuery的樹型插件(OrangeTree)使用介紹
- Jquery 實(shí)現(xiàn)彈出層插件
- 限制上傳文件大小和格式的jQuery插件實(shí)例
- 自己動(dòng)手手寫jQuery插件總結(jié)
- zTree插件之單選下拉菜單實(shí)例代碼
- zTree插件之多選下拉菜單實(shí)例代碼
- jquery zTree異步加載簡(jiǎn)單實(shí)例分享
- js樹插件zTree獲取所有選中節(jié)點(diǎn)數(shù)據(jù)的方法
相關(guān)文章
淺析jQuery對(duì)select操作小結(jié)(遍歷option,操作option)
本篇文章是關(guān)于jQuery對(duì)select的操作進(jìn)行了總結(jié)介紹,需要的朋友可以參考下2013-07-07
jQuery實(shí)現(xiàn)的簡(jiǎn)單歌詞滾動(dòng)功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡(jiǎn)單歌詞滾動(dòng)功能,結(jié)合實(shí)例形式分析了基于jQuery插件scroll.js實(shí)現(xiàn)滾動(dòng)功能相關(guān)操作技巧,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素相關(guān)實(shí)現(xiàn)方法,需要的朋友可以參考下2019-01-01
簡(jiǎn)單實(shí)現(xiàn)jQuery彈窗效果
這篇文章主要教大家簡(jiǎn)單實(shí)現(xiàn)jQuery彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
jQuery實(shí)現(xiàn)根據(jù)類型自動(dòng)顯示和隱藏表單
這篇文章主要給大家分享了jQuery實(shí)現(xiàn)根據(jù)類型自動(dòng)顯示和隱藏表單的代碼,非常的簡(jiǎn)單實(shí)用,僅僅10行代碼,推薦給大家,希望能給大家一些提示。2015-03-03

