(function ($, root, undefined) { $(function () { 'use strict'; // DOM ready, take it away gsap.registerPlugin('ScrollTrigger'); gsap.config({ nullTargetWarn: false, }); // hamburger timeline const hamburgerTimeline = gsap.timeline({ paused:true }); const hamburger = $('#hamburger'); const wrapper = $('#wrapper'); // move hamburger lines to the middle hamburgerTimeline.to("#hamburger span.first", { duration: .2, y:'6px', }); hamburgerTimeline.to("#hamburger span.third", { duration: .2, delay:-.2, y:'-6px', }); // rotate hamburger hamburgerTimeline.to("#hamburger span.first", { duration: .2, rotation:45, }); hamburgerTimeline.to("#hamburger span.second, #hamburger span.third", { duration: .2, delay:-.2, rotation:-45, }); // menu constants const openMenu = gsap.timeline({ paused:true, }); const openMenuButton = $('#open-menu'); // open menu timeline animations openMenu.to("#nav-background", { scale: 150, duration:1.2, ease: Circ.easeOut }); openMenu.to("#nav", { autoAlpha:1, delay:-.6, ease: Circ.easeOut }); openMenu.to(".column", { autoAlpha:1, delay:-.6, stagger:.1, y:'-24px', ease: Circ.easeOut }); // open menu function openMenuActions(){ // play timelines hamburgerTimeline.play().timeScale(1); openMenu.play().timeScale(1); $('html').addClass('no-scroll'); $('#nav-background').css('background-color','#000000'); hamburger.addClass('active'); // remove focus of wrapper wrapper.attr('aria-hidden', 'true'); $("#wrapper :focusable").addClass("disabled").attr("tabindex", -1); } // close menu function closeMenuActions(){ // reverese timelines hamburgerTimeline.reverse().timeScale(-2); openMenu.reverse().timeScale(-2); $('html').removeClass('no-scroll'); wrapper.attr('aria-hidden', 'false'); $(".disabled").removeClass("disabled").attr("tabindex", 0); setTimeout(function(){ $('#nav-background').css('background-color','transparent'); hamburger.removeClass('active'); }, 600); } // open menu event handler openMenuButton.on("click", function() { // toggle classes $(this).toggleClass('active'); if($(this).hasClass('active')){ openMenuActions(); } else { closeMenuActions(); } }); // escape hide menu $(document).on('keydown', function(event) { if (event.key == "Escape") { closeMenuActions(); } }); }); })(jQuery, this); /*******************************************************************/ /* ftrtch dino */ /* [type: JS] [file:project-scriptjs] [9.73] DESIGN*/ /*******************************************************************/ /* 0.3 D>D */ /* db 158 */