Уже есть пара написанных плагинов, но тут к одному из них понадобилось добавить API. Погуглил, но стоящих примеров не нашел. Вот что пока вырисовывается:
(function($) { // дефолтные значения var settings = { param_1: 1, param_2: 2 };
// методы плагина var methods = { init: function(options) { // инициализация плагина if (options) this.extend(settings, options);
return this.each(function() { // код плагина }); }, method_1: function() { // какой-то метод return settings.param_1; } };
// логика вызова методов $.fn.myPlugin = function(method) { if (methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof method === 'object' || ! method) { return methods.init.apply( this, arguments ); } else { $.error('Method ' + method + ' does not exist on jQuery.myPlugin'); } } })(jQuery);
Вызывается это так?
$('.classname').myPlugin(); // вызовется init
$('.classname').myPlugin({ param_1: 5 }); // тоже вызовется init
Теперь вопрос: мне нужно как-то взаимодействовать между методами, но this в объекте methods ссылается на jQuery, это значит, что там переменные я хранить не могу, как мне лучше хранить данные, чтобы я имел к ним доступ из любого метода?
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Great Rash
Уже есть пара написанных плагинов, но тут к одному из них понадобилось добавить API. Погуглил, но стоящих примеров не нашел. Вот что пока вырисовывается:
Вызывается это так?
Код взял с официального сайта.
Теперь вопрос: мне нужно как-то взаимодействовать между методами, но this в объекте methods ссылается на jQuery, это значит, что там переменные я хранить не могу, как мне лучше хранить данные, чтобы я имел к ним доступ из любого метода?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.