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

[ERLEDIGT] Mehrere Panels ein bzw. ausblenden

Ofi123

Neues Mitglied
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);
 
Werbung:
dann must du eine Schleife verwenden die mehrere Elemente aufklappt.
An besten mit querySelectorAll
 
Zuletzt bearbeitet:
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:
Das this hat da nichts zu suchen.

Ich meinte das so ungefähr

Durch die Schleife kannst du da auch 100 Boxen haben und alle würden auf und zu gehen.
 
Zuletzt bearbeitet:
Zurück
Oben