Akordiyon (açılır/kapanır)
Coddy'nin HTML Journey'sinin JavaScript in Action bölümünün bir parçası — ders 2 / 27.
Bir akordiyon, içerik bölümlerini genişletmenize ve daraltmanıza olanak tanıyan bir UI bileşenidir. Genellikle SSS'ler (bir soruya tıklayın → cevabı gösterin, tekrar tıklayın → gizleyin) için kullanılır.
Fikir basittir: bir başlığa tıkladığınızda, JavaScript altındaki içeriğin görünürlüğünü değiştirir.
Anahtar noktalar:
- Bir buton ve varsayılan olarak gizli olan (
display: none) bir içerik öğesine sahibiz.
- Butona tıklamak fonksiyonu tetikler ve açılması gereken öğenin ID'sini iletir.
- Fonksiyonun içinde:
- Eğer öğe zaten görünüyorsa (
display: block), onu gizleriz (display: none). - Aksi takdirde, onu gösteririz (
display: block).
- Eğer öğe zaten görünüyorsa (
<button onclick="toggle('p1')">Question 1</button>
<div id="p1" style="display:none;">Answer 1</div>
<script>
function toggle(id) {
const element = document.getElementById(id);
if (element.style.display === "block") {
element.style.display = "none";
} else {
element.style.display = "block";
}
}
</script>Görev
KolayŞu anda akordeonumuzda üç soru var. Göreviniz dördüncü bir soru eklemek.
Adımlar:
- Şu metni içeren yeni bir
<button>oluşturun: Should I add milk or drink it black? onclick="togglePanel('q4')"fonksiyonunu çağırarak onu yeni bir panele bağlayın.id="q4"vepanelsınıfına sahip bir<div>oluşturun.- Div'in içine şu cevabı yazın:
It depends on your taste! Black coffee has stronger flavor, while milk softens the bitterness.
Kendin dene
<!DOCTYPE html>
<html>
<head>
<title>FAQ Accordion</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>FAQ Coffee Lovers</h1>
<button class="accordion" onclick="togglePanel('q1')">What is the best way to brew coffee at home?</button>
<div id="q1" class="panel">
The French press and pour-over methods are popular for making rich, flavorful coffee at home.
</div>
<button class="accordion" onclick="togglePanel('q2')">Where do coffee beans come from?</button>
<div id="q2" class="panel">
Most coffee beans are grown in countries around the equator, such as Brazil, Ethiopia, and Colombia.
</div>
<button class="accordion" onclick="togglePanel('q3')">How late can I drink coffee?</button>
<div id="q3" class="panel">
It's best to avoid coffee 6 hours before bedtime, since caffeine can affect your sleep.
</div>
<script src="script.js"></script>
</body>
</html>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.