Имам плъгин jQuery и искам да мога да променям опциите в движение, като този пример: $('.element').pwstabs('options','effect',scale)
или нещо подобно на него. Опитах да добавя update: function
, опитах да добавя Plugin.prototype.update
, но все още не мога да разбера как да го направя :)
Ето структурата на плъгина:
;(function ($, window, document, undefined) {
var pluginName = "pwstabs",
defaults = {
effect: 'scaleout',
defaultTab: 1,
containerWidth: '100%',
tabsPosition: 'horizontal',
horizontalPosition: 'top',
verticalPosition: 'left',
responsive: false,
theme: '',
rtl: false,
controlls: false,
next: '',
prev: '',
first: '',
last: '',
auto: false,
play: '',
pause: ''
};
function Plugin(element, options) {
this.element = $(element);
this.$elem = $(this.element);
this.settings = $.extend({}, defaults, options);
this._defaults = defaults;
this._name = pluginName;
this.init();
}
Plugin.prototype = {
init: function(){
// Here's the code for the plugin
}
};
$.fn[pluginName] = function ( options ) {
return this.each(function () {
new Plugin( this, options );
});
};
})(jQuery, window, document);
Така че сега използвам приставката като:
$('.element').pwstabs({
effect: 'scalein',
defaultTab: 2
});
И когато щракна върху бутон, искам да променя ефекта на да кажем scaleout
. С код като:
$('.button').click(function(){
$('.element').pwstabs('options','effect','scalein');
});
И така, как да внедря това в приставката?
init
, ако приставката вече е стартирана, приемете промените в опциите, без да извикватеinit
отново? Добавяне на.data("init", true)
към елемент, ако плъгинът вече е иницииран в елемент, приемане на промените в опциите без повторно извикване наinit
? - person guest271314   schedule 08.02.2015