Реализовал нехитрый слайдер в виде плагина, все работает отлично, цыпочку вызово поддерживает, но не могу разобратся с методами
http://stackoverflow.com/questions/1...n-with-methods
Что делаю не так, в чем проблема?
(function($) {
var methods = {
init: function() {
var el = this,
resize = 100,
lengthSlides = $(el).find('.slider-item').length,
widthSlides = lengthSlides * resize + '%',
currentSlide = 1;
$(el).find('.sliderItemWrapper').width(widthSlides);
var inter = setInterval(nextSlide, 2000);
$(el).hover(function() {
clearInterval(inter);
}, function() {
inter = setInterval(nextSlide, 2000);
});
$(el).find('.slider_left').click(prevSlide);
$(el).find('.slider_right').click(nextSlide);
$(el).find('.slider-item:nth-child(2) .slider-img').addClass('small-img');
},
slideAnim: function() {
$(el).find('.slider-img').removeClass('active-img slider-img-left', 1500, "easeOutSine");
$(el).find('.des-slide').removeClass('des-slide-show', 1500, "easeOutSine");
$(el).find('.des-slide').addClass('des-slide-hide', 500, "easeOutSine");
$(el).find('.slider-img').addClass('small-img', 1500, "easeOutSine");
$(el).find('.slider-item:nth-child('+currentSlide+') .slider-img').addClass('active-img slider-img-left', 1500, "easeOutSine");
$(el).find('.slider-item:nth-child('+currentSlide+') .des-slide').addClass('des-slide-show', 1500, "easeOutSine");
},
nextSlide: function() {
if ( currentSlide == lengthSlides )
currentSlide = 0;
$(el).find('.sliderItemWrapper').animate({
'left': -currentSlide * resize + '%'
}, 2000);
currentSlide++;
slideAnim();
},
prevSlide: function() {
currentSlide--;
if ( currentSlide == 0 )
currentSlide = lengthSlides;
$(el).find('.sliderItemWrapper').animate({
'left': -(currentSlide -1) * resize + '%'
}, 2000);
slideAnim();
}
};
$.fn.slide = function(methodOrOptions, options) {
return this.each(function() {
if ( methods[methodOrOptions] ) {
return methods[ methodOrOptions ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof methodOrOptions === 'object' || ! methodOrOptions ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + methodOrOptions + ' does not exist on jQuery.tooltip' );
}
});
};
})(jQuery);