jQuery プラグインの変数を定義して、外部から表示できるようにする方法があるかどうか疑問に思っていました。(デバッグ用)
このプラグインを複数の DOM 要素で呼び出すことができるようにしたいので、各呼び出しは独自の変数セットを保持すると考えていました。
次のように Firebug で変数の値を確認したいと思っていました。
$('#hp-feat-promo').featuredPromo.moduleValues.totalNumSlides
しかし、それはうまくいきません。これがどのように機能するか、または私の理解が間違っていますか?
(function($){
$.fn.featuredPromo = function (options) {
/* Inside a jQuery plugin this refers to the jQuery object
* Inside of the nested function declarations, this refers to the local object, so if
* you still want to refer to the original DOM object, you need to hhave a pointer to the top-level this
*/
var self = this;
/* Create some defaults, extending them with any options that were provided */
var defaults = {
targetElement: self.find('.window ul li'),
isAuto: true
},
settings = '';
/* settings is all the configurable parameters, defaults + options (overrides) */
settings = $.extend(defaults, options);
this.moduleValues = {
totalNumSlides: settings.targetElement.length,
autoRotate: settings.isAuto,
currentSlide: 0,
nextSlide: function() {
},
prevSlide: function() {
}
};
return this.each(function() {
});
};
jQuery(function(){
$('#hp-feat-promo').featuredPromo();
});
})(jQuery);