Menu rozwijane
Część sekcji JavaScript w praktyce ścieżki HTML w Coddy. Lekcja 4 z 27.
Komponent rozwijanego menu to powszechny element interfejsu użytkownika, który po kliknięciu wyświetla dodatkową zawartość.
Zacznij od utworzenia struktury HTML dla listy rozwijanej:
<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>Dodaj podstawowy CSS, aby ostylować listę rozwijaną:
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-menu {
display: none;
position: absolute;
background-color: #f9f9f9;
z-index: 1;
}
.show {
display: block;
}Teraz dodaj JavaScript, aby przełączać widoczność menu rozwijanego:
const dropdownToggle = document.querySelector('.dropdown-toggle');
const dropdownMenu = document.querySelector('.dropdown-menu');
dropdownToggle.addEventListener('click', function() {
dropdownMenu.classList.toggle('show');
});Po kliknięciu przycisku JavaScript dodaje lub usuwa klasę 'show', która kontroluje widoczność menu rozwijanego.
Wyzwanie
ŁatwyTwoje zadanie:
- Dodaj trzecią opcję o nazwie “Logout” z klasą
logoutdo menu rozwijanego. - Uzupełnij nasłuchiwanie zdarzenia kliknięcia, dodając wiersz, który przełącza klasę "show" w menu rozwijanym.
Spróbuj swoich sił
<!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>
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji JavaScript w praktyce
1Interaktywność/komponenty UI
KartyAkordeon (rozwijanie/zwijanie)Modal (otwieranie/zamykanie)Menu rozwijane2Formularze i walidacja
Walidacja danych wejściowychNiestandardowe komunikaty o błędachPrzyciski przesyłaniaPoćwicz samodzielnie: Edytor online Web