(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'); const toc = $('#toc'); // move hamburger lines to the middle hamburgerTimeline.to("#hamburger span.first", { duration: .2, y: '9px', }); hamburgerTimeline.to("#hamburger span.third", { duration: .2, delay: -.2, y: '-9px', }); // 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'); const openTocLink = $('.open-toc'); // 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 }); const openToc = gsap.timeline({ paused: true, }); // open menu timeline animations openToc.to("#nav-background", { scale: 150, duration: 1.2, ease: Circ.easeOut }); openToc.to("#toc", { autoAlpha: 1, delay: -.6, ease: Circ.easeOut }); openToc.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'); $('#header').css('background-color','#000'); $('.logo').removeClass('black'); hamburger.parent().removeClass('black'); $('.logo').addClass('white'); hamburger.parent().addClass('white'); // remove focus of wrapper wrapper.attr('aria-hidden', 'true'); $("#wrapper :focusable").addClass("disabled").attr("tabindex", -1); } //open toc actions function openTocActions() { openToc.play().timeScale(1); closeMenuActions(); $('html').addClass('no-scroll'); $('#nav-background').css('background-color', '#000000'); // 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'); $('#header').css('background-color', '#fff'); $('.logo').removeClass('white'); hamburger.parent().removeClass('white'); $('.logo').addClass('black'); hamburger.parent().addClass('black'); }, 600); } //close Toc function closeTocActions() { // reverese timelines openToc.reverse().timeScale(-2); openMenuActions(); $('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 openTocLink.on("click", function () { // toggle classes $(this).toggleClass('active'); if ($(this).hasClass('active')) { openTocActions(); } else { closeTocActions(); } }); */ // 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(); } }); $('.main-menu-a').on('click', function() { closeMenuActions(); }); }); })(jQuery, this); /*******************************************************************/ /* ftrtch dino */ /* [type: JS] [file:nav-main] [26.420] DESIGN*/ /*******************************************************************/ /* 0.13 D>D */ /* db 152 */