1$(function(){ 2 3 var headerContainer = $('header'); 4 5 function attachHeader(){ 6 var scrollTop = $(window).scrollTop(); 7 8 if (scrollTop > 40){ 9 headerContainer.css('position', 'fixed'); 10 } else { 11 headerContainer.css('position', 'relative'); 12 } 13 } 14 15 $(window).scroll(function(){ 16 attachHeader(); 17 }); 18 19 attachHeader(); 20 21 function setCookie(cname, cvalue, exdays) { 22 var d = new Date(); 23 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 24 var expires = "expires="+d.toUTCString(); 25 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 26 } 27 28 function getCookie(cname) { 29 var name = cname + "="; 30 var decodedCookie = decodeURIComponent(document.cookie); 31 var ca = decodedCookie.split(';'); 32 for(var i = 0; i <ca.length; i++) { 33 var c = ca[i]; 34 while (c.charAt(0) == ' ') { 35 c = c.substring(1); 36 } 37 if (c.indexOf(name) == 0) { 38 return c.substring(name.length, c.length); 39 } 40 } 41 return ""; 42 } 43 44 var gdpr = $('#gdpr'); 45 var gdprButton = $('#gdprButton'); 46 var gdprCookie = getCookie('gdpr'); 47 48 if (gdprCookie === ''){ 49 gdpr.css('display', 'block'); 50 } 51 52 gdprButton.on('click', function(){ 53 gdpr.css('display', 'none'); 54 setCookie('gdpr', 'accepted', 30); 55 }); 56 57 const menu = document.querySelector('.menu'); 58 const menuSection = menu.querySelector('.menu-section'); 59 const menuArrow = menu.querySelector('.menu-mobile-arrow'); 60 const menuClosed = menu.querySelector('.menu-mobile-close'); 61 const menuTrigger = document.querySelector('.menu-mobile-trigger'); 62 const menuOverlay = document.querySelector('.overlay'); 63 let subMenu; 64 65 menuSection.addEventListener('click', (e) => { 66 if (!menu.classList.contains('active')) { 67 return; 68 } 69 70 if (e.target.closest('.menu-item-has-children')) { 71 const hasChildren = e.target.closest('.menu-item-has-children'); 72 showSubMenu(hasChildren); 73 } 74 }); 75 76 menuArrow.addEventListener('click', () => { 77 hideSubMenu(); 78 }); 79 80 menuTrigger.addEventListener('click', () => { 81 toggleMenu(); 82 }); 83 84 menuClosed.addEventListener('click', () => { 85 toggleMenu(); 86 }); 87 88 menuOverlay.addEventListener('click', () => { 89 toggleMenu(); 90 }); 91 92 function toggleMenu() { 93 menu.classList.toggle('active'); 94 menuOverlay.classList.toggle('active'); 95 } 96 97 function showSubMenu(hasChildren) { 98 subMenu = hasChildren.querySelector('.menu-subs'); 99 subMenu.classList.add('active'); 100 subMenu.style.animation = 'slideLeft 0.5s ease'; 101 const menuTitle = hasChildren.querySelector('i').parentNode.childNodes[0].textContent; 102 menu.querySelector('.menu-mobile-title').innerHTML = menuTitle; 103 menu.querySelector('.menu-mobile-header').classList.add('active'); 104 } 105 106 function hideSubMenu() { 107 subMenu.style.animation = 'slideRight 0.5s ease'; 108 setTimeout(() => { 109 subMenu.classList.remove('active'); 110 }, 300); 111 112 menu.querySelector('.menu-mobile-title').innerHTML = ''; 113 menu.querySelector('.menu-mobile-header').classList.remove('active'); 114 } 115 116 window.onresize = function () { 117 if (this.innerWidth > 991) { 118 if (menu.classList.contains('active')) { 119 toggleMenu(); 120 } 121 } 122 }; 123 124 125}); 126 127 128
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.