jquery $.fn $.fxはどういう意味ですか?

2365 ワード

$.fnとは、jqueryのネーミングスペースを指し、fnのメソッドおよび属性を加えると、jqueryインスタンスごとに有効になります.
拡張$.fn.abc()
では、あなたはこのようにすることができます:$("#div").abc();
通常extendメソッドを使用して拡張しますが、詳細はAPIを参照してください.
$.fxとは、jqueryの特効です.
表示、スライド、フェードアウト、アニメーションなどを使用する場合.
$.fx.offはアニメーションを閉じることができますが、実際には結果を直接表示します.
jqueryのextendとfn.extend
jQueryはプラグインのアーチを開発するために2つの方法を提案した.それぞれ:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object); jQueryクラス自体を拡張する.クラスに新しいメソッドを追加します.
jQuery.fn.extend(object);jQueryオブジェクトにメソッドを追加します.
fnって何ですか.jQueryコードを見ると、わかりやすくなります.
jQuery.fn = jQuery.prototype = {
   init: function( selector, context ) {//.... 
   //......
};
jQuery.fn=jQuery.prototype.prototypeには見慣れていないに違いない.
Javascriptには明確なクラスの概念はありませんが、クラスで理解すると便利です.
jQueryは、文$("#btn 1")でjQueryクラスのインスタンスを生成するなど、非常によくカプセル化されたクラスです.
jQuery.extend(object);jQueryクラスにクラスメソッドを追加するには、静的メソッドを追加すると理解できます.次のようにします.
$.extend({
  add:function(a,b){return a+b;}
});
jQueryにaddという「静的メソッド」を追加し、その後jQueryを導入する場所でこのメソッドを使用することができます.
$.add(3,4);//return 7
jQuery.fn.extend(object);jQuery.prototypeを拡張すると、jQueryクラスに「メンバー関数」を追加します.jQueryクラスのインスタンスでは、この「メンバー関数」を使用できます.
たとえば、プラグインを開発して、特殊な編集ボックスを作成します.クリックすると、alertの現在の編集ボックスの内容になります.このようにすることができます.
Jqueryコード:
 
  
$.fn.extend({
alertWhileClick:function(){
$(this).click(function(){
alert($(this).val());
});
}
});
$("#input1").alertWhileClick();

ページには次のように表示されます.
$(#input 1)は、メンバーメソッドalertWhileClickを呼び出すと拡張が実現され、クリックされるたびに現在の編集内容がポップアップされます.
実际の开発の过程の中で、もちろんこのような白いプラグインをすることはできなくて、事実上jQueryは豊富な操作のドキュメント、イベント、CSS、Ajax、効果の方法をアーチ上げて、これらの方法を结び付けて、更にNiubilityのプラグインを开発することができます.
jquery(function(){})と(function(){}(jQuery)の違い
1.
jQuery(function(){});
すべて
jQuery(docunemt).ready(function(){
});
DOMロード完了後にready()メソッドを実行することを意味する
2.
(funtion(){
}(jQuery);
実際に()(para)匿名メソッドを実行するのは,jQueryオブジェクトが渡されたにすぎない.
まとめ:jQuery(funtion(){});DOMオブジェクトを格納するためのコード.コードを実行するときにDOMオブジェクトが既に存在する.開発プラグインコードを格納するために使用できない.jQueryオブジェクトが渡されていないため、外部からjQuery.methodye呼び出しによってメソッドが呼び出されない.
(funtion(){
}(jQuery);
開発プラグインを格納するためのコードです.実行中にコードDOMは存在しないので、直接自動的にDOM操作コードを実行します.注意してください.