Cara Menampilkan Atau Menyembunyikan Konten Tanpa Menggunakan Bootstrap

Tutorial - Collapse konten tanpa bootstrap

Cara menampilkan atau menyembunyikan konten - Hai, kali ini kita akan belajar menampilkan atau menyembunyikan konten atau biasa dikenal dengan istilah collapse.

Dalam artikel ini kita akan mencoba membuatnya tanpa menggunakan Bootstrap alias murni hanya dengan html, css dan javascript saja.


Pertama kita buat file baru dengan nama collapse.html dan tambahkan HTML didalamnya.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<h2>Tampilkan atau sembunyikan konten</h2>
<button class="collapsible">Button 1</button>
<div class="content">
  <p>Lorem ipsum …</p>
</div>
<button class="collapsible">Button 2</button>
<div class="content">
  <p>Lorem ipsum …</p>
</div>

</body>
</html>

Lalu tambahkan kode CSS berikut diatas tag </head>
<style>
body {
  font-family: sans-serif;
}

.collapsible {
  background-color: #777;
  color: white;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
}

.active, .collapsible:hover {
  background-color: #555;
}

.content {
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  background-color: #f1f1f1;
}
</style>


Maka tampilannya akan seperti berikut.

Tampilan HTML dan CSS

Lanjut, tambahkan script berikut sebelum tag </body>.
<script>
var coll = document.getElementsByClassName("collapsible");
var i;

for (i = 0; i < coll.length; i++) {
  coll[i].addEventListener("click", function() {
    this.classList.toggle("active");
    var content = this.nextElementSibling;
    if (content.style.maxHeight){
      content.style.maxHeight = null;
    } else {
      content.style.maxHeight = content.scrollHeight + "px";
    } 
  });
}
</script>

Sehinggan untuk kode lengkapnya akan seperti berikut.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
  font-family: sans-serif;
}
.collapsible {
  background-color: #777;
  color: white;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
}

.active, .collapsible:hover {
  background-color: #555;
}

.content {
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  background-color: #f1f1f1;
}
</style>
</head>
<body>

<h2>Tampilkan atau sembunyikan konten</h2>
<button class="collapsible">Button 1</button>
<div class="content">
  <p>Button 1 diklik ..</p>
</div>
<button class="collapsible">Button 2</button>
<div class="content">
  <p>Button 2 diklik ..</p>
</div>

<script>
var coll = document.getElementsByClassName("collapsible");
var i;

for (i = 0; i < coll.length; i++) {
  coll[i].addEventListener("click", function() {
    this.classList.toggle("active");
    var content = this.nextElementSibling;
    if (content.style.maxHeight){
      content.style.maxHeight = null;
    } else {
      content.style.maxHeight = content.scrollHeight + "px";
    } 
  });
}
</script>

</body>
</html>


Coba klik Button 1 dan Button 2 maka tampilannya akan seperti berikut.

Tampilan collapse

Reference: How To - Collapse

Posting Komentar

0 Komentar