Menu
Coddy logo textTech

Menu a discesa

Fa parte della sezione JavaScript in azione del percorso HTML di Coddy. Lezione 15 di 27.

I menu a discesa sono componenti dell'interfaccia utente che mostrano opzioni aggiuntive quando vengono attivati. Sono comunemente usati nella navigazione per organizzare i contenuti senza occupare troppo spazio.

Per prima cosa, creiamo la struttura HTML per un menu a discesa di base:

<div class="dropdown">
  <button class="dropdown-toggle">Menu</button>
  <div class="dropdown-menu">
    <a href="#">Option 1</a>
    <a href="#">Option 2</a>
    <a href="#">Option 3</a>
  </div>
</div>

Ora aggiungiamo il JavaScript per attivare o disattivare la visibilità del menu a discesa:

// Ottieni il pulsante che apre e chiude il menu a discesa
const dropdownToggle = document.querySelector('.dropdown-toggle');

// Ottieni il menu a discesa
const dropdownMenu = document.querySelector('.dropdown-menu');

// Aggiungi un gestore dell'evento click al pulsante che apre e chiude il menu
dropdownToggle.addEventListener('click', function() {
  // Attiva o disattiva la classe 'show' nel menu a discesa
  dropdownMenu.classList.toggle('show');
});

Infine, aggiungi del CSS di base per nascondere/mostrare il menu a discesa:

.dropdown-menu {
  display: none;
}

.dropdown-menu.show {
  display: block;
}

Quando fai clic sul pulsante "Menu", apparirà il menu a discesa. Facendo clic di nuovo, il menu verrà nascosto.

challenge icon

Sfida

Facile

Crea un menu a discesa che venga mostrato/nascosto quando si fa clic su un pulsante.

Passaggi:

  1. In HTML:
    • Aggiungi un attributo onclick al pulsante che, quando viene cliccato, chiama una funzione denominata toggleDropdown
  2. In JavaScript:
    • Crea una funzione chiamata toggleDropdown
    • All'interno della funzione, attiva o disattiva la classe "show" sull'elemento con ID “myDropdown”

Provalo tu

<!DOCTYPE html>
<html>
<head>
  <title>Save the Forests</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <h1>Save the Forests</h1>
    <p>Even planting one or two trees makes a difference.</p>
  </header>

  <div class="dropdown">
    <button class="dropbtn">Learn More ▼</button>
    <div id="myDropdown" class="dropdown-content">
      <a href="#">Why forests matter</a>
      <a href="#">How to grow a tree</a>
      <a href="#">Community projects</a>
    </div>
  </div>

  <main>
    <section>
      <h2>Why Trees Are Important</h2>
      <p>
        Forests clean our air, give us oxygen, and are home to countless animals.  
        Each tree you plant helps fight climate change and supports life on Earth.
      </p>
    </section>
    <section>
      <h2> Start Small</h2>
      <p>
        Don’t wait for a big change. Start with just one or two trees in your yard or community.  
        Your small action inspires others!
      </p>
    </section>
  </main>

  <footer>
    <p> Together we can make the planet greener.</p>
  </footer>

  <script src="script.js"></script>
</body>
</html>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di JavaScript in azione

Esercitati da solo: Playground Web