В анимированном меню с использованием GSAP, когда я щелкаю ссылку на пункт меню, я хочу полностью изменить TimelineMax до изменения страницы.
Вот рабочий бит кода.Все работает так, как мне нужно.Я просто не знаю, как отложить событие клика.
navigation: function() {
var $sidebar = '',
$hamburger = '.menu',
$trigger = '.nav-trigger',
$items = '.menu-item a',
$nav = '.nav';
$sidebar = new TimelineMax({
paused: true,
reversed: true
});
$sidebar
.add(TweenMax.to($nav, 0.1, { visibility:'visible' } ))
.add(TweenMax.to($body, 0.1, { className:'+=nav--is-open' } ))
.add(TweenMax.to($hamburger, 0.1, { className:'+=menuactiv' } ))
.add(TweenMax.to($nav, 0.955, { x:0, ease: Power4.easeInOut } ), '=-0.15')
.add(TweenMax.staggerTo($items, 0.15, { y:'0%', ease: Power4.easeInOut }, 0.15), '=-0.15');
$(document).on('click', $trigger, function(e) {
if ( !$body.hasClass( 'nav--is-open' ) ) {
$sidebar.reversed() ? $sidebar.play().timeScale(1) : $sidebar.reverse();
}
} );
$(document).on('click', $body, function(e) {
if ( $body.hasClass( 'nav--is-open' ) ) {
$sidebar.reversed() ? $sidebar.play().timeScale(1) : $sidebar.reverse();
}
} );
$(document).on('keyup',function(e) {
if (e.keyCode == 27) {
if ( $body.hasClass( 'nav--is-open' ) ) {
$sidebar.reversed() ? $sidebar.play().timeScale(1) : $sidebar.reverse();
}
}
});
}
Спасибо