元々どこかで見つけたスケルトンからスタートして、自分なりに変更していった結果なのだけれども、jQuery プラグイン書き始めるときのスケルトンが落ち着いてきたのでメモっておきます。
###解説付き
(function($){
// やっぱり $ で書くのが慣れているので。グローバルの $ は信用しちゃだめですよ。
$.fn.myPlugin = function(options) {
// プラグイン呼び出しの際に、オプション値をマップでもらう事を前提としています。
// extend でデフォルト値に被せると「値がないかも」という心配が要らなくなります。
options = $.extend({
'name1': 'val1',
'name2': 'val2'
}, options);
// 複数の要素が選択されている可能性があるので each で実装。
// jQuery のマナー的に、自分自身を return するのを忘れてはいけません。
return this.each(function(){
console.log(this, options);
});
// 複雑なことをしないなら下記みたいな感じでも OK です。
// プラグイン化したくなるような時は、シンプルにすまない時がほとんどですが…。
return this.css(/* ... */).animate(/* ... */);
}
})(jQuery);
###貼り付け用
(function($){
$.fn.myPlugin = function(options) {
options = $.extend({
}, options);
return this.each(function(){
});
}
})(jQuery);