1function closeMenu() { 2 const el = document.querySelector("#m-menu"); 3 el.classList.remove("active"); 4 setTimeout(() => { 5 el.classList.add("display-none"); 6 }, "1000"); 7} 8 9function openMenu() { 10 const el = document.querySelector("#m-menu"); 11 el.classList.remove("display-none"); 12 const copilotButton = document.querySelector('#copilot-section .menu-mobile-section-title'); 13 if (copilotButton) { 14 copilotButton.setAttribute('aria-expanded', 'true'); 15 } 16 setTimeout(() => { 17 el.classList.add("active"); 18 }, "10"); 19} 20 21// Cerrar menú al hacer click fuera 22document.addEventListener('DOMContentLoaded', function() { 23 const menu = document.querySelector("#m-menu"); 24 25 if (menu) { 26 menu.addEventListener('click', function(e) { 27 // Si el click es en el overlay (fondo), cerrar el menú 28 if (e.target === menu) { 29 closeMenu(); 30 } 31 }); 32 } 33}); 34 35// Toggle productos menu 36function toggleProductsMenu() { 37 const button = document.querySelector('#productos-section .menu-mobile-section-title'); 38 if (button) { 39 const isExpanded = button.getAttribute('aria-expanded') === 'true'; 40 button.setAttribute('aria-expanded', !isExpanded); 41 } 42} 43 44// Toggle Copilot menu 45function toggleCopilotMenu() { 46 const button = document.querySelector('#copilot-section .menu-mobile-section-title'); 47 if (button) { 48 const isExpanded = button.getAttribute('aria-expanded') === 'true'; 49 button.setAttribute('aria-expanded', !isExpanded); 50 } 51}
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.