Я пишу свой первый плагин jQuery, и у меня есть несколько вопросов о том, куда мне положить вещи.Я попытался искать, но, похоже, существуют разные способы структурирования плагинов, поэтому я заблудился.Я достиг этого, следуя документам по разработке плагинов на сайте jQuerys, но не был уверен, куда идти дальше.
Где я могу разместить общую функцию?Возьмите привет () например.Скажем, я планирую использовать эту функцию в плагине, где он должен жить?Прямо сейчас я поставил его сверху, что, кажется, работает, но я не уверен, что это правильно.
Где я могу разместить глобальную переменную?Возьмите мою переменную "imgs" массив для примера.Должен ли я объявить это там, где он у меня есть сейчас или в моем методе init, или где-то еще?
(function($){
function hello(){
alert("hello world");
}
var imgs = new Array();
var methods = {
init: function(options){
if(options){
$.extend({
width: 200,
height: 200,
selectedColor: '#123456'
}, options);
// for every image do something
this.find('img').each(function(){
var $this = $(this);
var width = $this.width();
var height = $this.height();
console.log("width: " + width + " height: " + height);
selection = function() {
console.log($this.attr('src'));
hello();
};
$this.bind('click', selection);
});
}
return this;
},
test : function( string ) {
console.log("Test: " + string);
//return "here";
}
};
$.fn.Thumbnails = function(method) {
// Method calling logic
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.Thumbnails' );
}
};
})(jQuery);
$thumbnails = $('#imagescontainer').Thumbnails({
height: 150,
});
Спасибо за помощь!