1. パラメータを必要としないメソッドである簡単な例から始めます
//匿名関数を作成します
(function($){
// jQuery に新しいメソッドを追加します (詳細については注 1 を参照)
$.fn.extend({
//プラグインの名前
MyFirstName: function() {
//現在一致する要素コレクションを反復します
return this.each(function() {
var obj = $(this);
//独自のコード
}
});
注 1: $.fn.extend と $ の違いは、大まかに言えば、前者は MyFirstName メソッドを jquery インスタンス オブジェクトにマージすることです。たとえば、$("#txtmy").add(3,4) はメソッドを呼び出します。後者は、MyFirstName メソッドを jquery のグローバル オブジェクトにマージします。たとえば、$.add(3,4); このメソッドは
と呼ばれます。詳細については、(
http://www. jb51.net/article/29590.htm
)
2. パラメータ付き
//匿名関数を作成します
(function($){
//新しいメソッドを jQuery にアタッチします (詳細については注 1 を参照)
$.fn.extend({
//プラグインの名前
MyFirstName: function() {
//デフォルトパラメータを定義します
Var parms={
Parms1:1,
Parms2:2
}
//ユーザーによって渡されたパラメータと、オプションに返されたデフォルトのパラメータをマージします (詳細については注 2 を参照)
var options = $.extend(defaults, options) ;
// 現在の一致する要素コレクションを反復します
return this.each(function() {
// マージされたパラメータを o に割り当てます
var o= options;
//現在の一致する要素
var obj = $(this);
//独自のコード
}
}); 🎜>
注 2: var options = $.extend(defaults, options); 後者に前者と同じ名前の要素がある場合、後者が前者を上書きすることを意味します。それをデフォルトにマージし、デフォルトをオプションに割り当てます。 var options = $.extend({},defaults, options); の場合は、前者と後者を {} パラメータにマージしてから割り当てます。デフォルトの構造と値は変更されません。
詳細な違いについては、(
http://www.jb51.net/article/29591.htm
) を参照してください。