Задать вопрос
@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
});
  • Вопрос задан
  • 2862 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
rdifb0
@rdifb0
Программист, реалист
Первое что пришло в голову jsfiddle.net/86LCk/2
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы