Untitled
unknown
plain_text
5 months ago
5.1 kB
2
Indexable
<!DOCTYPE html> <html lang="it"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Esempio di Menu</title> <style> /* Stile per il menu */ .menu { padding: 10px; position: absolute; z-index: 1000; } .quick-menu-item-link { color: black; } .quick-menu-item { color: black; background: lightgray; } .quick-menu-item-opened > ul { /* background: blue; /* */ display: block; /* Mostra il menu aperto */ } .quick-menu-item-closed > ul { /*background: cyan; /* */ display: none; /* Nasconde il menu */ } .quick-menu-item-active { background: red; /* Evidenza l'elemento attivo */ } </style> </head> <body> <div id="menu-content"> <ul> <li class="quick-menu-item quick-menu-item-opened quick-menu-item-active"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#tit">Title</a> </div> <ul> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp1">Capitolo 1</a> </div> </li> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp2">Capitolo 2</a> </div> <ul> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp21">Capitolo 2.1</a> </div> </li> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp22">Capitolo 2.2</a> </div> </li> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp23">Capitolo 2.3</a> </div> </li> </ul> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp3">Capitolo 3</a> </div> <ul> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp31">Capitolo 3.1</a> </div> </li> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp32">Capitolo 3.2</a> </div> </li> </ul> </li> <li class="quick-menu-item quick-menu-item-closed"> <div class="quick-menu-item-label"> <a class="quick-menu-item-link" href="#cp4">Capitolo 4</a> </div> </li> </ul> </li> </ul> </div> <script> // Ottieni i riferimenti agli elementi cliccabili var items = document.querySelectorAll(".quick-menu-item > .quick-menu-item-label > .quick-menu-item-link"); // Aggiungi l'handler agli elementi cliccabili items.forEach((item) => { item.addEventListener('click', handler, false); }) // Gestisci i click function handler() { var target = this.parentElement.parentElement; items.forEach((item) => { item.parentElement.parentElement.classList.remove('quick-menu-item-active'); }) target.classList.add('quick-menu-item-active'); if (target.classList.contains('quick-menu-item-closed')) { target.classList.remove('quick-menu-item-closed'); target.classList.add('quick-menu-item-opened'); } else { target.classList.remove('quick-menu-item-opened'); target.classList.add('quick-menu-item-closed'); } } /* const menu = document.getElementById('menu'); const button = document.getElementById('menu-toggle'); // Aggiungi un event listener per gestire il click sul pulsante item.addEventListener('click', () => { // Cambia la classe quick-menu-item- da opened a closed e viceversa if (menu.classList.contains('quick-menu-item-closed')) { menu.classList.remove('quick-menu-item-closed'); menu.classList.add('quick-menu-item-opened'); button.classList.add('open'); } else { menu.classList.remove('quick-menu-item-opened'); menu.classList.add('quick-menu-item-closed'); button.classList.remove('open'); } }); /* // Chiudi il menu se clicchi al di fuori di esso window.addEventListener('click', (event) => { if (!menu.contains(event.target) && event.target !== button) { if (menu.classList.contains('quick-menu-item-opened')) { menu.classList.remove('quick-menu-item-opened'); menu.classList.add('quick-menu-item-closed'); button.classList.remove('open'); } } }); */ </script> </body> </html>
Editor is loading...
Leave a Comment