1(function($) { 2$(function() { 3 4 5 6 $('button.nav__title').click(function() { 7 var title = $(this); 8 var nav = title.next('ul.nav__menu'); 9 if (nav.is('.active')) { 10 title.removeClass('active'); 11 nav.removeClass('active'); 12 } else { 13 title.addClass('active'); 14 nav.addClass('active'); 15 } 16 }); 17 18 $(document).click(function() { 19 $('button.nav__title, ul.nav__menu').removeClass('active'); 20 }); 21 22 $('button.nav__title, ul.nav__menu').click(function(e) { 23 e.stopPropagation(); 24 }); 25 26 /* === Mobile Menu === */ 27 var menuToggle = 'div.header__menu-toggle'; 28 var navToMenu = 'div.header__menu'; 29 30 if ( $(navToMenu).length ) { 31 $(menuToggle).click(function() { 32 $('html').addClass('menu-active'); 33 }); 34 35 $('body').append('<div class="menu-overlay"></div><div class="menu"><div class="menu__inner">' + $(navToMenu).html() + '</div></div>'); 36 37 var menu = $('div.menu__inner') 38 .before('<div class="menu__close"></div>') 39 .prepend('<div class="menu__topbar"><div class="menu__back"></div><div class="menu__title"></div></div>') 40 ; 41 $('div.menu-overlay, div.menu__close').click(function() { 42 $('html').removeClass('menu-active'); 43 }); 44 45 var topbar = $('div.menu__topbar', menu); 46 var back = $('div.menu__back', menu); 47 var title = $('div.menu__title', menu); 48 49 menu 50 .find('li').removeAttr('class id').end() 51 .find('ul') 52 .removeAttr('class id') 53 .addClass('menu__item') 54 .first().addClass('menu__topmenu active').attr('id', 'm-0') 55 .find('a:not(:last-child)').each(function(i) { 56 i++; 57 var link = $(this); 58 var submenu = link.next('ul').removeClass('sub-menu').addClass('menu__submenu').attr('id', 'm-' + i); 59 var parent = submenu.closest('li').closest('ul').attr('id'); 60 submenu.data('parent', parent); 61 link.after('<div class="menu__show-submenu" data-id="m-' + i + '"></div>'); 62 }) 63 ; 64 menu.find('ul').appendTo(menu); 65 menu.find('ul.menu__item:not(.menu__topmenu):not(.menu__submenu)').each(function() { 66 menu.find('ul.menu__topmenu').append( $(this).html() ); 67 $(this).remove(); 68 }); 69 menu.find('nav').remove(); 70 menu 71 .on('click', 'div.menu__show-submenu', function() { 72 topbar.addClass('active'); 73 var arrow = $(this); 74 arrow.closest('ul').removeClass('active').addClass('hidden'); 75 var id = arrow.data('id'); 76 $('#' + id).addClass('active'); 77 var parent = $('#' + id).data('parent'); 78 back.data('show', parent).data('hide', id); 79 title.text( arrow.siblings('a').text() ); 80 }) 81 .on('click', 'div.menu__back', function() { 82 var back = $(this); 83 var show = back.data('show'); 84 var hide = back.data('hide'); 85 if ( show === 'm-0' ) { 86 menu.find('ul.menu__topmenu').addClass('active'); 87 topbar.removeClass('active'); 88 } 89 back.data( 'show', $('#' + show).data('parent') ).data('hide', show); 90 title.text( menu.find('[data-id="' + show + '"]').siblings('a').text() ); 91 $('#' + show).addClass('active').removeClass('hidden'); 92 $('#' + hide).removeClass('active'); 93 }) 94 ; 95 } // if (navToMenu) 96 /* === end of Mobile Menu === */ 97 98 99 100 101}); 102})(jQuery); 103
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.