Vale TV
  • Inicio
  • Nuestra Pantalla
  • Producción Nacional
    • Espacio Arte
    • Emprendiendo con Victoria
    • Conversando con Mosquera
    • De la mano con la Iglesia
    • Asombrosa Tecnología
  • Responsabilidad Social
  • Actualidad
  • Sobre nosotros
  • Contacto
  • Señal en vivo Vale TV
  • Search
  • Menu Menu
  • Inicio
  • Nuestra Pantalla
  • Producción Nacional
    • Espacio Arte
    • Emprendiendo con Victoria
    • Conversando con Mosquera
    • De la mano con la Iglesia
    • Asombrosa Tecnología
  • Responsabilidad Social
  • Actualidad
  • Sobre nosotros
  • Contacto
  • Señal en vivo Vale TV
  • Facebook
  • Instagram
  • LinkedIn
  • Twitter
  • Youtube
Scroll to top
document.addEventListener('DOMContentLoaded', function() { console.log('Iniciando menú acordeón con JS puro...'); // 1. Ocultar todos los submenús al cargar hideAllSubmenus(); // 2. Re-ocultar después de que todo cargue setTimeout(hideAllSubmenus, 100); setTimeout(hideAllSubmenus, 500); // 3. Agregar evento de clic a todos los enlaces del menú document.addEventListener('click', function(e) { var target = e.target; // Si se hace clic en un enlace que está dentro de un li if (target.tagName === 'A') { var liParent = findLiParent(target); if (liParent) { var submenu = findSubmenu(liParent); if (submenu) { e.preventDefault(); e.stopPropagation(); // Cerrar otros submenús abiertos closeOtherSubmenus(submenu); // Abrir/cerrar este submenú toggleSubmenu(submenu); } } } }); // 4. Observar cambios en el DOM por si el tema muestra submenús observeDOMChanges(); }); // Función para ocultar todos los submenús function hideAllSubmenus() { var submenus = document.querySelectorAll('.sub-menu, li ul'); submenus.forEach(function(menu) { menu.style.display = 'none'; menu.style.visibility = 'hidden'; menu.style.opacity = '0'; menu.style.height = '0'; menu.style.overflow = 'hidden'; }); } // Encontrar el elemento li padre function findLiParent(element) { var parent = element.parentElement; while (parent && parent.tagName !== 'LI' && parent.tagName !== 'BODY') { parent = parent.parentElement; } return parent && parent.tagName === 'LI' ? parent : null; } // Encontrar submenú dentro de un li function findSubmenu(liElement) { return liElement.querySelector('.sub-menu, ul ul, li > ul'); } // Cerrar otros submenús function closeOtherSubmenus(currentSubmenu) { var allSubmenus = document.querySelectorAll('.sub-menu, li ul'); allSubmenus.forEach(function(menu) { if (menu !== currentSubmenu) { menu.style.display = 'none'; menu.style.visibility = 'hidden'; menu.style.opacity = '0'; } }); } // Alternar submenú (abrir/cerrar) function toggleSubmenu(submenu) { if (submenu.style.display === 'none' || !submenu.style.display) { // Abrir submenu.style.display = 'block'; submenu.style.visibility = 'visible'; submenu.style.opacity = '1'; submenu.style.height = 'auto'; submenu.style.overflow = 'visible'; } else { // Cerrar submenu.style.display = 'none'; submenu.style.visibility = 'hidden'; submenu.style.opacity = '0'; submenu.style.height = '0'; } } // Observar cambios en el DOM para combatir el tema function observeDOMChanges() { var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { // Si se agregan nodos o cambian estilos, re-ocultar submenús hideAllSubmenus(); }); }); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); }