@Hancock_888

Как вызвать метод в jquery plugin?

Добрый день всем!)
Как вызывать метод показать, или спрятать вкладку для одной группы вкладок?
К примеру есть плагин:

;(function($, window, document, undefined) {
	var pluginName = 'Tabs',
		defaults = { };

	function Plugin(element, options) {
		this.element = element;
		this.options = $.extend({}, defaults, options);
		this._defaults = defaults;
		this._name = pluginName;
		this.init();
	}

	Plugin.prototype.init = function() {
		console.log( 'init' );
	};
	Plugin.prototype.show = function(param) {		
		console.log( 'show' );
	};
	Plugin.prototype.set = function(param) {
		console.log( 'set' );
	};
	Plugin.prototype.hide = function(param) {
		console.log( 'hide' );
	};

	$.fn[pluginName] = function(options) {
		return this.each(function() {
			if (!$.data(this, 'plugin_' + pluginName)) {
				$.data(this, 'plugin_' + pluginName,
					new Plugin(this, options));
			}
		});
	};

})(jQuery, window, document);


Есть две кнопки
<button class="btn myButtonShow" data-name="Tabs_Group_name1">Показать</button>
    <button class="btn myButtonHide" data-name="Tabs_Group_name1">Спрятать</button>


и сам вызов
$(".myButtonShow").on("click", function() {
	$('.js_Tabs').Tabs.show();
});

$(".myButtonHide").on("click", function() {
	$('.js_Tabs').Tabs.hide();
});


Проблема в том что плагин инициализируется только один раз, т.е. если нажать кнопку показать, то при нажатии на кнопку спрятать ничего не происходит.
Как сделать что бы можно вызывать различные методы, такого типа? и как лучше?

$('.js_Tabs').Tabs.show();

$('.js_Tabs').Tabs.({
	show: true
});
  • Вопрос задан
  • 2846 просмотров
Решения вопроса 1
rdifb0
@rdifb0
Программист, реалист
Первое что пришло в голову jsfiddle.net/86LCk/2
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы