Di bawah ini kita akan mempelajari cara membuat tampilan kisi daftar.
Klik pada tombol untuk memilih tampilan daftar atau tampilan kisi
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> * { box-sizing: border-box; } /* Buat dua kolom yang sama yang mengapung di samping satu sama lain */ .column { float: left; width: 50%; padding: 10px; } /* Hapus floats setelah columns */ .row:after { content: ""; display: table; clear: both; } /* Style untuk buttons */ .btn { border: none; outline: none; padding: 12px 16px; background-color: #f1f1f1; cursor: pointer; } .btn:hover { background-color: #ddd; } .btn.active { background-color: #666; color: white; } </style> </head> <body> <h2>List View or Grid View</h2> <p>Klik pada tombol untuk memilih tampilan daftar atau tampilan kisi.</p> <div id="btnContainer"> <button class="btn" onclick="listView()"><i class="fa fa-bars"></i> List</button> <button class="btn active" onclick="gridView()"><i class="fa fa-th-large"></i> Grid</button> </div> <br> <div class="row"> <div class="column" style="background-color:#aaa;"> <h2>Column 1</h2> <p>Some text..</p> </div> <div class="column" style="background-color:#bbb;"> <h2>Column 2</h2> <p>Some text..</p> </div> </div> <div class="row"> <div class="column" style="background-color:#ccc;"> <h2>Column 3</h2> <p>Some text..</p> </div> <div class="column" style="background-color:#ddd;"> <h2>Column 4</h2> <p>Some text..</p> </div> </div> <script> // Dapatkan elemen dengan class = "column" var elements = document.getElementsByClassName("column"); // Deklarasikan variabel loop var i; // List View function listView() { for (i = 0; i < elements.length; i++) { elements[i].style.width = "100%"; } } // Grid View function gridView() { for (i = 0; i < elements.length; i++) { elements[i].style.width = "50%"; } } /* Opsional: Tambahkan kelas aktif ke tombol saat ini (sorot) */ var container = document.getElementById("btnContainer"); var btns = container.getElementsByClassName("btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className += " active"; }); } </script> </body> </html>
Tampilan Kotak Daftar
Langkah 1) Tambahkan HTML:
Contoh
<div id="btnContainer"> <button class="btn" onclick="listView()"><i class="fa fa-bars"></i> List</button> <button class="btn active" onclick="gridView()"><i class="fa fa-th-large"></i> Grid</button> </div> <br> <div class="row"> <div class="column" style="background-color:#aaa;"> <h2>Column 1</h2> <p>Some text..</p> </div> <div class="column" style="background-color:#bbb;"> <h2>Column 2</h2> <p>Some text..</p> </div> </div> <div class="row"> <div class="column" style="background-color:#ccc;"> <h2>Column 3</h2> <p>Some text..</p> </div> <div class="column" style="background-color:#ddd;"> <h2>Column 4</h2> <p>Some text..</p> </div> </div>
Langkah 2) Tambahkan CSS:
Contoh
/* Buat dua kolom yang sama yang mengapung di samping satu sama lain */ .column { float: left; width: 50%; padding: 10px; } /* Hapus floats setelah columns */ .row:after { content: ""; display: table; clear: both; } /* Style untuk buttons */ .btn { border: none; outline: none; padding: 12px 16px; background-color: #f1f1f1; cursor: pointer; } .btn:hover { background-color: #ddd; } .btn.active { background-color: #666; color: white; }
Langkah 3) Tambahkan JavaScript:
Contoh
// Dapatkan elemen dengan class = "column" var elements = document.getElementsByClassName("column"); // Deklarasikan variabel loop var i; // List View function listView() { for (i = 0; i < elements.length; i++) { elements[i].style.width = "100%"; } } // Grid View function gridView() { for (i = 0; i < elements.length; i++) { elements[i].style.width = "50%"; } } /* Opsional: Tambahkan kelas aktif ke tombol saat ini (sorot) */ var container = document.getElementById("btnContainer"); var btns = container.getElementsByClassName("btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className += " active"; }); }