Menu
Coddy logo textTech

Dropdown

Parte da seção JavaScript in Action do Journey de HTML da Coddy — lição 4 de 27.

O componente dropdown é um elemento de UI comum que revela conteúdo adicional quando clicado.

Comece criando a estrutura HTML para um dropdown:

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

Adicione um pouco de CSS básico para estilizar o dropdown:

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-menu {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  z-index: 1;
}
.show {
  display: block;
}

Agora, adicione JavaScript para alternar o menu suspenso:

const dropdownToggle = document.querySelector('.dropdown-toggle');
const dropdownMenu = document.querySelector('.dropdown-menu');

dropdownToggle.addEventListener('click', function() {
  dropdownMenu.classList.toggle('show');
});

Quando o botão é clicado, o JavaScript adiciona ou remove a classe 'show', que controla a visibilidade do menu suspenso.

challenge icon

Desafio

Fácil

Sua tarefa:

  1. Adicione a terceira opção chamada “Logout” com a classe logout no menu suspenso.
  2. Complete o ouvinte de evento de clique adicionando a linha que alterna a classe "show" no menu suspenso.

Experimente você mesmo

<!DOCTYPE html>
<html>
<head>
  <title>Dropdown Challenge</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <h2>Welcome to the Dashboard</h2>
  <p>Click the button below to open your profile menu:</p>

  <div id="profileDropdown" class="dropdown">
    <button class="dropdown-toggle">
      My Profile
    </button>
    <div class="dropdown-menu">
      <a href="#">View Profile</a>
      <a href="#">Settings</a>
    </div>
  </div>

    <script src="script.js"></script>
</body>
</html>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de JavaScript in Action