jQueryプラグイン開発ガイド:再利用可能なコンポーネントの作成
コアポイント:
fn
関数定義を使用します。 this
extend
this
拡張子で保存し、jQueryライブラリがロードされた後にHTMLページに含まれている必要があります。 .js
なぜjQueryプラグインを作成するのですか? 要するに
:再利用。 jQueryを拡張することにより、任意のWebページで再利用できるコンポーネントを作成できます。あなたのコードはカプセル化されており、他の場所で同じ関数名を使用する可能性は低いです。
jqueryはどのように機能しますか
コア部分では、jQueryはCSSセレクターを含むDOM要素または文字列を受け取ります。 jqueryオブジェクトを返します。これは、ドムノードの配列のようなコレクションです。次に、このノードのグループのチェーンで、1つまたは複数の方法と呼ぶことができます。 注:jQueryライブラリは「jquery」と呼ばれていますが、「$」はそれを参照するショートカット変数です。他のライブラリは「$」を占有する場合があることに注意してください。
// 将所有 <p> 标签的颜色设置为红色 $("p").css("color", "red");</p>
jqueryプラグインはどのように機能しますか
jQueryを使用すると、ライブラリにメソッドを追加できます。これらのメソッドが呼び出されると、jQueryオブジェクトはjavascriptのオブジェクトとして渡されます。 DOMノードは必要に応じて操作でき、メソッドは他の関数をChainedと呼ぶことができるように
を返す必要があります。サンプルプラグインは、次のコードを使用して呼び出されます。
また、this
this
// 反转所有 <p> 标签中的文本 $("p").reverseText();</p>
minlength
プラグインはjQueryのmaxlength
関数定義を使用します。たとえば
// 将所有 <p> 标签的颜色设置为红色 $("p").css("color", "red");</p>
この関数はすぐに実行され、「$」という名前のパラメーターとしてjQueryを渡します。 「$」はローカル変数であるため、グローバルな「$」変数を取得する最初の他のライブラリではなく、常にjQueryライブラリを参照すると想定できます。
// 反转所有 <p> 标签中的文本 $("p").reverseText();</p>
プラグインには、2つのパラメーターが必要です。最も簡単な方法は、それらを関数パラメーターとして定義することです。
しかし、後でさらにパラメーターを追加することにした場合はどうなりますか?プラグインには多数のオプションがある場合があります。パラメーター処理はすぐに複雑になる可能性があります。別の方法として、単一のJSONオブジェクトを渡すことができます。
minlength
関数の最初の行は、デフォルトのパラメーターのセットを定義し、ユーザー定義の値maxlength
を使用して
jQuery.fn.reverseText = function(params) { ... };
したがって、
(function($) { $.fn.reverseText = function(params) { ... }; })(jQuery);
は0およびreverseText
は99999です。
extend
プラグインコード
(function($) { $.fn.reverseText = function(minlength, maxlength) { ... }; })(jQuery); // 示例 $("p").reverseText(0, 100);
メインプラグインコードを書き込むことができます:params.minlength
params.maxlength
関数は、すべてのjQuery domノードをトラバースし、匿名関数を呼び出します。
関数では、「This」には単一のノードが含まれています。 jQueryノードコレクションは
に割り当てられているため、jQueryメソッドを実行できます。(function($) { $.fn.reverseText = function(params) { ... } })(jQuery); // 示例 $("p").reverseText( { minlength: 0, maxlength: 100 } );
変数
は、domノードのテキスト文字列として割り当てられます。this.each
の長さの長さが$t
で反転したテキスト文字列を作成します。次に、それに応じてDOMノードを更新します。 origText
newText
チェーンコールを壊さないでください! origText
最後に、他の方法をチェーンと呼ぶことができるように、jqueryオブジェクトを返すことを忘れないでください:params.minlength
params.maxlength
newText
プラグインコードが完了するようになりました:
このファイルを
として保存します。その後、jqueryライブラリをロードした後、任意のHTMLページに含めることができます。// 合并默认参数和用户参数 params = $.extend( {minlength: 0, maxlength: 99999}, params);
リソース:
// 遍历所有节点 this.each(function() { // 将单个节点表示为 jQuery 对象 var $t = $(this); // 查找文本 var origText = $t.text(), newText = ''; // 文本长度是否在定义的限制内? if (origText.length >= params.minlength && origText.length <= params.maxlength) { for (var i = origText.length; i--; ) newText += origText.substr(i, 1); $t.text(newText); } });
JQueryプラグインの開発をよく理解する必要があります。 SitePoint JavaScriptフォーラムは、ヘルプとアドバイスを求めるための優れたリソースでもあります。近日公開:jQueryプラグインに便利なページコンポーネントを構築する方法に関する新しい3部構成のチュートリアル。
(元のドキュメントのFAQパーツは、擬似オリジナル要件と一致せず、長すぎるため、ここでは省略されています。)
以上がjQueryプラグインの開発方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。