Надеюсь, вопрос не слишком неопределенный.В данный момент я пытаюсь написать плагин для jQuery, но я борюсь с различными способами его структурирования.Я нашел bxSlider и подумал, что это довольно доступно для кода плагина.Вот простой пример:
(function($){
$.fn.letSlider = function(options){
var defaults = {
speed: 500,
onBeforeSlide: function(){} //Callback
}
var options = $.extend(defaults, options);
//cache base element
base = this;
//public functions
this.init = function(){
text = giveText();
alert(text + ' ' + options.speed);
};
//private functions
function giveText(){
return 'blubb';
};
this.each(function(){
// make sure the element has children
if($(this).children().length > 0){
base.init();
}
});
return this;
}
})(jQuery);
Так что у него есть четкая структура, которую мне удается понять.Тем не менее, он выглядит совсем не так, как все структуры плагинов, которые я видел до сих пор, поэтому я не уверен, если это не вызовет у меня проблемы позже.Тем не менее, он делает в основном все, что мне нужно: открытые параметры, обратные вызовы, частные и публичные функции.И с этим. Каждый должен быть цепным тоже.Одна вещь, которую я уже заметил, состоит в том, что в основном все находится в исходной функции $ .fn.bxSlider = (options) {... и я никогда не видел этого раньше.
Что касается других структур плагинов, они либо слишком сложны для меня (позор мне), либо мне не удается их реализовать.Например, с http://www.learningjquery.com/2007/10/a-plugin-development-pattern мне не удалось сделать опции (переменные параметров) доступными в частных или публичных функциях.Но я отвлекся....