はじめに
* 最近、JavaScriptばっかり書いてたので、共通処理をjQueryプラグイン化する事を考える
構文
基本
(function($) {
$.fn.【プラグイン名】 = function() {
// ここに実装する
return this;
};
})(jQuery);
引数を受け取る
(function($) {
$.fn.【プラグイン名】 = function(params) {
// (1) デフォルト値を準備
var defaults = {
【パラメータ名】: 【デフォルト値】,
};
// (2) デフォルト値に引数をマージ
var config = $.extend(defaults, params);
// ここに実装する
return this;
};
})(jQuery);
サンプル
HelloWorld.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Sample</title> </head> <body> <div id="result">Here</div> <button id="fire" />Click me!</button> <script src="">http://code.jquery.com/jquery-1.11.3.min.js"> <script src="jQuery.sample.js"></script> <script> $("#fire").click(function(event){ $("#result").sample({ text: 'Hello, World!!!!', }); }); </script> </body> </html>
jQuery.sample.js
(function($) {
$.fn.sample = function(params) {
// (1) デフォルト値を準備
var defaults = {
text: "Hello World!",
};
// (2) デフォルト値に引数をマージ
var config = $.extend(defaults, params);
this.text(config.text);
return this;
};
})(jQuery);
参考文献
jQuery逆引きリファレンス
$.fnhttp://www.buildinsider.net/web/jqueryref/031
$.extend
http://www.buildinsider.net/web/jqueryref/032