JSFiddle - React, Tailwind, and code Playground

by Torwan

HTML

<h2>HTML Old Accordian</h2>
<button class="accordion">Section 1</button>
<div class="panel">
  <p>This is section 1</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
  <p>This is section 2</p>
</div>
<button class="accordion">Section 3</button>
<div class="panel">
  <p>This is section 3</p>
</div>

CSS

.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
}

.active,
.accordion:hover {
  background-color: #ccc;
}

.panel {
  padding: 0 18px;
  display: none;
  background-color: white;
  overflow: hidden;
}

JavaScript

var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    this.classList.toggle("active");
    var panel = this.nextElementSibling;
    if (panel.style.display === "block") {
      panel.style.display = "none";
    } else {
      panel.style.display = "block";
    }
  });
}