Menu
Coddy logo textTech

אקורדיון (הרחבה/כיווץ)

חלק מהיחידה JavaScript בפעולה במסלול ה-HTML של Coddy. שיעור 2 מתוך 27.

אקורדיון הוא רכיב בממשק המשתמש שמאפשר להרחיב ולכווץ חלקים של תוכן. לעיתים קרובות משתמשים בו לשאלות נפוצות (לוחצים על שאלה → התשובה מוצגת, לוחצים שוב → היא מוסתרת).
הרעיון פשוט: כשאתם לוחצים על כותרת, JavaScript משנה את מצב הנראות של התוכן שמתחתיה.

נקודות עיקריות:

  1. יש לנו כפתור ורכיב תוכן שמוסתר כברירת מחדל (display: none).
  1. לחיצה על הכפתור מפעילה את הפונקציה ומעבירה את המזהה של הרכיב שאמור להיפתח.
  1. בתוך הפונקציה:
    • אם האלמנט כבר מוצג (display: block), אנחנו מסתירים אותו (display: none).
    • אחרת, אנחנו מציגים אותו (display: block).
<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>
challenge icon

אתגר

קל

כרגע, באקורדיון שלנו יש שלוש שאלות. המשימה שלך היא להוסיף שאלה רביעית.

שלבים:

  1. צור <button> חדש עם הטקסט: Should I add milk or drink it black?
  2. קשר אותו לחלונית חדשה באמצעות קריאה לפונקציה onclick="togglePanel('q4')"
  3. צור <div> עם id="q4" ועם המחלקה panel.
  4. בתוך ה-div, כתוב את התשובה:
    It depends on your taste! Black coffee has stronger flavor, while milk softens the bitterness.

נסו בעצמכם

<!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>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה JavaScript בפעולה

תרגלו בעצמכם: Web אונליין