[ERLEDIGT] Mehrere Panels ein bzw. ausblenden

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ofi123

Neues Mitglied
3 Dezember 2019
18
0
1
Traiskirchen
Hallo!

Ich wollte euch fragen ob mir einer von euch weiterhelfen kann.
Mein Problem: Ich versuche gerade zwei Elemente so zu machen, dass ich beide ausklappen kann.
Da ich zwei habe, habe ich es mit class probiert, doch dann klappen sie mir nicht aus (auch wenn ich in JS es zu document.getElementsByClassName verändere). Wenn ich ID verwende klappt mir nur das erste Element aus (da ich eine ID klarerweise auch nur einmal verwenden kann).
Danke im Voraus!

HTML:
<html>
    <head>
        <meta charset="UTF-8" />
        <link href="https://fonts.googleapis.com/css?family=Dosis&display=swap" rel="stylesheet">
       <script type="text/javascript" src="index.js"></script>
       <style>
          body{
              font-family: 'Dosis';
          }
          #box{
              border: 1px solid rgb(36, 125, 160);
              display: inline-block;
              border-top-left-radius: 3px;
              border-top-right-radius: 3px;
              width: 200px;
          }
          #box_heading{
              padding: 5px;
              border-bottom: 1px solid rgb(36, 125, 160);
          }
          #box_content.hide{
              display: inline-block;
          }
          #box_content{
              display:none;
          }
       </style>
    </head>
    <body>
       <div id="box">
           <div id="box_heading">
            <h3>Lorem ipsum</h3>
           </div>
           <div id="box_content">
            <p1>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, <img src="https://www.flair.at//wp-688b7-content/uploads/2015/05/beispielbild.png" style="width: 100px; padding-left: 50px;"></p1>
           </div>
       </div>
       <div id="box">
        <div id="box_heading">
         <h3>Lorem ipsum</h3>
        </div>
        <div id="box_content">
         <p1>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, <img src="https://www.flair.at//wp-688b7-content/uploads/2015/05/beispielbild.png" style="width: 100px; padding-left: 50px;"></p1>
        </div>
    </div>
</html>
JavaScript:
"use strict";

window.addEventListener("load", function() {

    let heading = document.getElementById("box_heading");
    heading.addEventListener("click", function(){
        let content = document.getElementById("box_content");
        content.classList.toggle("hide")
    }, false)
    

}, false);
 

Ofi123

Neues Mitglied
3 Dezember 2019
18
0
1
Traiskirchen
dann must du eine Schleife verwenden die mehrere Elemente aufklappt.
An besten mit querySelectorAll
Hallo Basti1012!
Habe jetzt versucht den Code
JavaScript:
const boxes = this.document.querySelectorAll("box_heading");
einzubauen und den anderen Code ein bisschen umgeschrieben, aber es nicht geschafft. Wie muss ich ein querySectorAll einbauen?
LG
 
Werbung: