jquery插件制作簡單示例說明
2024-05-06 14:22:33
供稿:網友
一、先從一個簡單的實例,不需要帶參數的一個方法開始
代碼如下:
//創建一個匿名函數
(function($){
//給jQuery附加一個新的方法(詳細見備注1)
$.fn.extend({
//插件的名字
MyFirstName: function() {
//迭代當前匹配元素集合
return this.each(function() {
var obj = $(this);
//自己的代碼
});
}
});
)(jQuery);
備注1:理解$.fn.extend和$.extend的區別,大概的說前者是將MyFirstName這個方法合并到jquery的實例對象中,例如$(“#txtmy”).add(3,4)這樣調用方法,后者是將MyFirstName這個方法合并到jquery的全局對象中,例如$.add(3,4); 這樣調用方法
詳細區別見(//m.survivalescaperooms.com/article/29590.htm)
二、有參數的
代碼如下:
//創建一個匿名函數
(function($){
//給jQuery附加一個新的方法(詳細見備注1)
$.fn.extend({
//插件的名字
MyFirstName: function() {
//定義默認參數
Var parms={
Parms1:1,
Parms2:2
}
//合并用戶傳的參數和默認參數,返回給options(詳細見備注2)
var options = $.extend(defaults, options);
//迭代當前匹配元素集合
return this.each(function() {
//把合并后的參數賦值給o
var o= options;
//迭代當前匹配元素
var obj = $(this);
//自己的代碼
});
}
});
)(jQuery);
備注2:var options = $.extend(defaults, options); 意思是把defaults和options合并,如果后者有和前者名稱一樣的元素,后者覆蓋前者,然后合并給defaults,然后defaults賦值給options,如果是var options = $.extend({},defaults, options);那么是把前者和后者合并給{}這個參數,然后賦值給options,defaluts的結構和值都沒有變化
詳細區別見(//m.survivalescaperooms.com/article/29591.htm)