Это мой первый раз разрабатывающий плагин jQuery. В основном я просто пишу это, чтобы объединить функции вместе и сделать с помощью этих функций намного проще, что-то вроде написания класса с помощью методов.Пользовательский плагин jQuery, сохраняйте заданные переменные, относящиеся к выбранному элементу?
У меня возникли проблемы с тем, что после того, как я использую команду jQuery для элемента - вся информация изнутри этой функции потеряна, и я не могу использовать ее для последующего использования. Я хотел бы использовать плагин как своего рода класс с функциями как методы. Я хочу сохранить созданные Рафаэлем объекты внутри него и, при необходимости, манипулировать ими позже. Вот мой пример:
(function($) {
$.fn.myPlugin = function(step) {
if(step == 'step1') {
var test = 'Function OK!';
console.log(test);
}
if(step == 'step2') {
console.log(test);
}
}
})(jQuery);
$('#elem').myPlugin('step1');
$('#elem').myPlugin('step2');
Конечно, первый журнал консоли печатает переменную, однако вторая возвращает undefined.
Есть ли способ заставить jQuery действовать как самостоятельный класс с закрытыми переменными? Как я уже упоминал, я хочу создавать объекты Рафаэля, а затем манипулировать ими. Поэтому мне нужно назначить объект Raphael переменной (var graph = Raphael('#elem', options);
), поэтому позже мне нужно было бы получить к ней доступ, вызвав функцию, например graph.somefunction(doThis);
Как это сделать? Я делаю что-то неправильно? Спасибо ..