Page 90 - jQuery для начинающих
P. 90

// при многократном вызове настройки будут сохранятся
                                  // и замещаться при необходимости
                                  options = $.extend({}, defaults, options, params);
                                  $(this).click(function(){

                                         $(this).css('color', options.color);
                                  });

                                  return this;
                           };

                    })(jQuery);


             Вызов:


                    // первый вызов
                    $('p:first,p:last').mySimplePlugin();
                    // второй вызов

                    $('p:eq(1)').mySimplePlugin({ color: 'red' });


             В  результате  работы  данного  плагина,  каждый  клик  будет  изменять  цвет  параграфа  на
             красный,  т.к.  мы  используем  глобальную  переменную  для  хранения  настроек,  то  второй
             вызов  плагина  изменят  значение  для  всех  элементов.  Можно  внести  небольшие
             изменения, и разделить настройки для каждого вызова (см. plugin.html):


                    // актуальные настройки, будут индивидуальными при каждом запуске

                    var options = $.extend({}, defaults, params);


                    А разница то в одном var. Мне даже сложно себе представить как много часов
                    убито в поисках потерянного var в JavaScript'е, будьте внимательны



             Работаем с коллекциями объектов


             Тут  все  просто,  достаточно  запомнить  —  this  содержит  jQuery  объект  с  коллекцией  всех
             элементов, т.е.:


                    $.fn.mySimplePlugin = function(){

                           console.log(this); // это jQuery объект
                           console.log(this.length); // число элементов в выборке

                    };


                                                                                                         90


                                                                                        www.trk.kg
   85   86   87   88   89   90   91   92   93   94   95