jquery插件制作心得


今天剛剛把jquery的插件制作學習了一下,總結一下別人寫的和自己的心得,方便其他初學者的學習,考慮到要學習jquery插件制作的人一定知道jquery插件的好處和通用性,這里就不多說
一、先從一個簡單的實例,不需要帶參數的一個方法開始
//創建一個匿名函數
(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); 這樣調用方法
詳細區別見(http://ioryioryzhan.iteye.com/blog/232971)

二、有參數的
//創建一個匿名函數
(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的結構和值都沒有變化
詳細區別見(http://www.cnblogs.com/holygis/archive/2011/11/02/2232659.html)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM