jQueryのプラグイン開発関連

私は、変更の側面を学びながら、デザインのアイデアは、カルーセルコンポーネントは、画像の行を占めている、jQueryのプラグインとしてパッケージカルーセルコンポーネントに行く前に書いた、その後、アニメーションの方法のJSを伴う左の行全体のプロパティを変更しますカルーセルスライドを達成

構造部品は次のとおりです。

機能 {} 
Carousel.prototype.afreash = 関数 {}
Carousel.prototype.listener = 関数 {}
...

私は、具体的な場所を変更したものを、そのjQueryプラグインへの大幅な変更で話します。

バッグ閉鎖のすべてのコード

このとき、外部へのプライベートスコープの閉鎖の同等、内部情報にアクセスすることができない、とグローバル変数のコンタミネーションはありません。

関数$ { })(jQueryの)。



ストアデフォルトパラメータにCarousel.DEFAULTSの= {}を追加

Carousel.DEFAULTS = { 
間隔:5000
限界:0.2
マウス:50
トーラー:0
速度:500
アップ:
}

プラグインのメソッドを追加します。

このプラグインは、直接使い切る内部参照するには、ブートストラップ法です。
$の.extend(ターゲット、[物体1] 、[objectN]) このメソッドは、主に第1のオブジェクトにコンテンツオブジェクトのうちの2つ以上を組み合わせるために使用されます。
複数のオブジェクトが組み合わされた場合、オブジェクトの第1の構造が破壊され、最初のパラメータとして空のオブジェクトを渡すことが可能である:ことに留意されたいです。

機能 プラグインオプション {鎖jqueryの呼び出しを節約するために結果を通って戻す// 戻り、この .each(関数


{ varが $ これは $を(= ); VARデータ= $ この .dataセクション('xf.carousel'); //デフォルトパラメータと一緒に結び付け、新たな修正パラメータVARオプション= $ .extend({}、カルーセル.DEFAULTS、$ この、)(.dataセクションをTYPEOFオプション== 'オブジェクト' &&オプション); //メソッド名のvarアクション= typeof演算オプション== '文字列'オプション:? ; IF!(データ){ //永続データは $ この .dataセクション('xf.carousel' 、(データ= 新しい新しいカルーセルを(









この、オプション)));
data.init();
} 場合typeof演算オプション== '番号'){ data.go(オプション)。 } そうであれば(アクション){ データ[作用](); } そうであれば(options.interval){ data.optionsの=オプション。 data.afresh(); data.alarm(); } })。}













上の$の.Fnあるプロトタイプにバインドされたプラグインjqueryの、

$ .fn.carousel =プラグイン。
$ .fn.carousel.Constructor =カルーセル;

$ .proxyを使用します

内部コードに対処する上での実装方法のsetTimeoutで遭遇されたsetIntervalは内部、適切にこれを導入する方法を
使用$ .proxyは非常にきれい達成することができ、$。プロキシは、自分自身に頼るか、適用する必要が

こちらをクリックして興味を持って教えてくださいgithubの:カルーセルを

原文:大专栏  jquery插件开发相关


おすすめ

転載: www.cnblogs.com/chinatrump/p/11423931.html
おすすめ