В последнее время я пишу множество крошечных плагинов для своих веб-проектов, но я все еще очень начинающий в разработке плагинов.
Я много читал о плагинах jquery, но просто не могуоберните мою голову вокруг methods
.
Вот как в основном выглядят мои текущие плагины:
(function($){
$.fn.extend({
myHelper: function(options) {
var defaults = {
some: 'defaults'
}
var options = $.extend(defaults, options);
return this.each(function() {
var o = options;
function next(target) {
// do something like slide to the next image in a slideshow
// based on the target and count passed in
slide('right');
}
function prev(target) {
slide('left');
}
function slide(direction) {
// animation for sliding in the next one
$('ul > li.current').animate({ … }, 800);
}
// doesn't exactly make sense but its just to illustrate what I need to do.
$('.next').click(next($('ul > #example'));
});
}
});
})(jQuery);
Чем я являюсь после этого, и я подумал, что метод - это путь сюда ...это в основном не иметь все эти именованные функции для крошечных кусочков функциональности и вместо этого определять методы, такие как nextSlide
, prevSlide
, reset
, loop
я думаю, вы поняли идею ...
Возможно, вы заметили, что я передаю в функцию такие вещи, как цель (например, next()
), а затем вызываю next()
как отдельную вещь.
Теперь я хочу начать делатьэто просто с помощью метода, делающего все это и позволяющего мне писать в моем plugin.js
файле, например, $(o.nextBtn).nextSlide();
.
Но как мне написать метод, который принимает аргументытакие как target
в гоis example?
Все примеры и учебные пособия для методов, которые я нашел до сих пор, в основном не имели возможности принимать аргументы в функцию метода.Это вообще возможно?
В идеале я бы хотел сделать эти функции связанными внутри моего плагина, но это начинает выходить из-под контроля.
Если вы знаете, как создаватьчто-то, что делает то, что я хочу сделать аккуратно и организованно или у меня есть хороший учебник, на который я должен обратить внимание, пожалуйста, поделитесь.
Спасибо.