ホームページ > ウェブフロントエンド > jsチュートリアル > jqueryカスタムプラグインの書き方

jqueryカスタムプラグインの書き方

一个新手
リリース: 2017-09-19 10:50:19
オリジナル
1590 人が閲覧しました


jQuery プラグインを作成することは、再利用の目的を達成するためにいくつかの既存の関数をカプセル化することです

JQuery プラグインには主に 3 つのタイプがあります:

1. オブジェクト メソッドをカプセル化するプラグイン。
この型を記述する プラグインは、JQuery が提供する jQuery.fn.extend() メソッドを使用する必要があります。色をクエリするカスタム関数を実装する手順は次のとおりです
1.1 作成したプラグイン ファイルに jquery.color.js という名前を付けます
1.2 プラグインのコンテンツの作成

;(function($){
    jQuery.fn.extend({//这里也可以写成$.fn.extend
        "color":function(value){//value是颜色值
            return this.css("color",value);
        },        "border":function(value){
            //插入代码
        }
    });
})(jQuery);
ログイン後にコピー

2. グローバル関数をカプセル化するプラグイン
このタイプのプラグインは、jQuery 名前空間内に関数を追加します。このようなプラグインを作成するには、JQuery が提供する jQuery.extend() メソッドを使用する必要があります。文字列

;(function($){
    $.extend({
        ltrim:function(text){//需要去除空格的字符串
            return (text || "").replace(/^\s+/g, "");
        },
        rtrim:function(text){
            return (text || "").replace(/\s+$/g, "");
        }
    });
})(jQuery);
ログイン後にコピー

の左側のスペースを削除する関数を作成します。その後、 $.rtrim(" test ") または jQuery.ltrim(" test "); を使用して、スペースを削除した文字列を返すことができます。この関数は、jQuery の trim() 関数に似ています。

3. セレクタープラグイン

("p:gt(1)") を例として使用するなど、セレクタープラグイン間の書き込み手順を説明します。 jQuery の :gt() セレクターのソース コードは

gt:function(a,i,m){
    return i > m[3]-0;
}
ログイン後にコピー

です。ここで、

a は現在トラバースされている DOM 要素を指します。

i は現在トラバースされている DOM 要素のインデックス値を表します。
m は特殊な配列です。
m[0] = :gt(1) 解析される式
m[1] = :
m[2] = gt
m[3] = 1

このリファレンスを使用して、このセレクターを記述するコードは次のようになります。

;(function($){
    $.extend(jQuery.expr[":"], {
        between : function(a, i, m){
            var tmp = m[3].split(",");//m[3]值为[2,5];
            return tmp[0]-0 < i && i < tmp[1]-0;
        }
    });
})(jQuery);
ログイン後にコピー

jquery プラグインを書くことは、再利用の目的を達成するためにいくつかの既存の関数をカプセル化することです

以上がjqueryカスタムプラグインの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート