私はずっと前に書いたシンプルな(軽量の)divスライダーを持っていました。私は様々なプロジェクトでそれを使用しているので、自分のプラグインにラップする時が来ました(軽量ではないもう!)。カスタムJQueryプラグイン - ユーザー定義のオプションを取得/維持する方法?
これは私のプラグインチェリーをポップしているので、私は読んでいて、http://docs.jquery.com/Plugins/Authoringからコピーしています。それは理にかなっていますが、何かが私を逃しています。ここに私のプラグインのコードは次のとおりです。ここ
(function($) {
//List of callable methods
var methods = {
init : function(options) {
var settings = $.extend({
optionOne : 'aaa',
optionTwo : 'bbb',
optionThree : 'ccc',
optionFour : 'ddd'
}, options);
},
error : function(message) {
alert(message);
},
showSettings : function() {
//This bit... how to show whats in 'settings' defined in init?
}
}
$.fn.ccSlider = function(method) {
//Calling methods
if (methods[method]) {
//If plugin is called with a recognised method, run that.
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
//if plugin is called without a method, run the init() function
return methods.init.apply(this, arguments);
} else {
//Run the error() function to catch all else.
return methods.error("ccSlider: Method '"+method+"' does not exist!");
}
};
})(jQuery);
すべてが期待どおりに動作しているが、私は必要なメソッドを記述するために行くことはできませんが、私は設定」のコンテンツにアクセスする方法を見つけ出すことができないだけの理由'init()メソッドの外側にあります。
私は 'showSettings'をテストとして使用していました...どのように私はshowSettingsメソッドをポップアップし、指定された設定の値(optionTwoなど)を教えてくれましたか?
..Orのベストプラクティス、jQueryのウェブサイト...私は考え出したが、私はちょうどそれが働いて得ることができなかったものだ – Codecraft