Здравствуйте! Возникла проблема с плагином jQuery (самописка). Параметры, которые я записываю в переменную плагина при каждой новой инициализации перекрываются более новыми. В параметрах я храню селекторы для элементов. В моем случае, постоянно перезаписывается объект data (я имею несколько .fixed-block на странице). Сам вопрос: могу ли я хранить параметры для каждой отдельной инициализации плагина? Мне необходимо сохранять параметры для каждого проинициализированного блока.
(function($){
jQuery.fn.fixedBlock = function(options){
$.extend({
},options);
var data = {
fixed: false,
original: null,
copy: null
};
var init = function(){
//
};
var check = function() {
//
};
var copyElement = function(jQueryElement) {
//
};
var calcTopValue = function() {
//
};
return this.each(init);
}
}(jQuery));
$('.fixed-block').fixedBlock();
судя по коду параметры никуда не сохраняются, потому что extend объединяет все в целевой объект, а он у тебя даже не определен , соответственно, так как он у тебя нигде не определен, то он и превращается в мусор.
По поводу $.extend:
Если задать два или более объекта, то результатом будет их объединение. В случае, если вы зададите только один объект, функция extend() добавит его содержимое в глобальный объект $ (jQuery). Таким образом можно расширять возможности библиотеки, добавляя свои функции в ее пространство имен. Это может быть полезно при написании плагинов.
Напомним, что в результате объединения объектов, первый из них будет изменен (он же будет возвращен в качестве результата выполнения функции extend()). Если нужно, чтобы ни один из заданных объектов не был изменен, то можно задать в качестве параметра target пустой объект:
var object = $.extend({}, object1, object2);
Eсли сохранять все аргументы в сам объект jquery, то он быстро превратится в мусорку данных, и потом дебажить код будет почти невозможно.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости