Luther, у вас же не css анимация, а изменение класса, это асинхронное событие. Тогда сразу по смене класса и выполняйте анимацию:
(function($) {
$.fn.mobileMenu = function(options) {
var settings = {
side: 'right',
width: 300,
animationSpeed: 600
};
//Extend those options
var options = $.extend(settings, options);
return this.each(function () {
var mob = $(this),
mobMenu = $('.mobile-menu');
mob.on('click touchend', function () {
mobMenu.toggleClass('mobile-menu--active');
mob.toggleClass('hamburger--active');
mobMenu.animate({right: -options.width + mob.is('.hamburger--active') * options.width}, options.animationSpeed);
});
});
};
})(jQuery);
$('.hamburger').mobileMenu();
|