Menu rozwijane
Część sekcji JavaScript w praktyce ścieżki HTML w Coddy. Lekcja 15 z 27.
Menu rozwijane to komponenty interfejsu użytkownika, które po aktywowaniu ujawniają dodatkowe opcje. Są często używane w nawigacji do porządkowania treści bez zajmowania zbyt dużej ilości miejsca.
Najpierw utwórzmy strukturę HTML dla podstawowego menu rozwijanego:
<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>Teraz dodajmy JavaScript, aby przełączać widoczność menu rozwijanego:
// Pobierz przycisk rozwijania menu
const dropdownToggle = document.querySelector('.dropdown-toggle');
// Pobierz menu rozwijane
const dropdownMenu = document.querySelector('.dropdown-menu');
// Dodaj do przycisku rozwijania obsługę zdarzenia kliknięcia
dropdownToggle.addEventListener('click', function() {
// Przełącz klasę 'show' w menu rozwijanym
dropdownMenu.classList.toggle('show');
});Na koniec dodaj podstawowy CSS, aby ukrywać i wyświetlać menu rozwijane:
.dropdown-menu {
display: none;
}
.dropdown-menu.show {
display: block;
}Po kliknięciu przycisku „Menu” pojawi się menu rozwijane. Kliknięcie go ponownie ukryje menu.
Wyzwanie
ŁatwyUtwórz menu rozwijane, które pokazuje się lub ukrywa po kliknięciu przycisku.
Kroki:
- W HTML:
- Dodaj do przycisku atrybut
onclick, który po kliknięciu wywołuje funkcję o nazwietoggleDropdown
- Dodaj do przycisku atrybut
- W JavaScript:
- Utwórz funkcję o nazwie
toggleDropdown - Wewnątrz funkcji przełącz klasę „show” elementu o identyfikatorze „myDropdown”
- Utwórz funkcję o nazwie
Spróbuj swoich sił
<!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>
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łania5Nawigacja
Przełączanie menu hamburgerowego na urządzeniach mobilnychZwijana nawigacja bocznaMenu rozwijanePoćwicz samodzielnie: Edytor online Web