SlideShare a Scribd company logo
1 of 13
Accordion
Eksperimen CSS
Kuliahkita - Georgius Rinaldo
dodo@kuliahkita.com
Pendahuluan
Sebelumnya telah dibahas penggunaan tab untuk menampilkan
informasi yang dapat dikategorikan dalam satu kelompok.
Pada materi kali ini, Kita juga akan membahas cara penampilan
informasi lainnya, hanya dengan cara yang berbeda yaitu dengan
menggunakan Accordion.
Kelakuan Accordion
Accordion akan “membuka” informasi pada container dari sebuah tab
yang dipilih. Tambahan lainnya adalah, CSS akan menutup container
lainnya yang tidak dipilih ketika user telah memilih sebuah tab.
Terbuka
Tertutup
Tertutup
HTML
<div class="accordion">
<div class="accordion-section">
<a class="accordion-section-title" href="accordion-1">Hewan</a>
<div id="accordion-1" class="accordion-section-content">
<p>Kucing, Anjing, Hamster, Ikan</p>
</div>
</div>
<div class="accordion-section">
<a class="accordion-section-title" href="accordion-2">Tanaman</a>
<div id="accordion-2" class="accordion-section-content">
<p>Mawar, Anggrek, Melati, Jati, Pinus, Jamur</p>
</div>
</div>
</div>
Implementasi Tab - 1
Pertama Kita buat dulu kerangka kodenya HTML-nya sebelum diberi
style.
HTML
<div class="accordion">
<div class="accordion-section">
<a class="accordion-section-title" href="accordion-1">Hewan</a>
<div id="accordion-1" class="accordion-section-content">
<p>Kucing, Anjing, Hamster, Ikan</p>
</div>
</div>
...
</div>
Implementasi Tab - 2
Dapat diperhatikan bahwa terdapat container keseluruhan, dan elemen
accordion yang dibungkus dalam kelas accordion-section. Dalam
sebuah section terdiri dari 2 bagian yaitu judul dan konten yang dapat
dilihat pada kode HTML.
CSS
/* ======== Accordion ========*/
.accordion, .accordion* {
box-sizing: border-box;
}
.accordion{
overflow: hidden;
box-shadow: 0 1px 3px rgba(0,0,0,0.25);
border-radius: 3px;
background: #e0e0e0;
}
Implementasi Tab - 3
Pertama Kita buat style general
dari accordion tersebut terlebih
dahulu yang mencakup seperti
pada kode di sebelah.
Hasil sementara hanya akan
berupa tampilan sederhana dari
tumpukan tag div.
Implementasi Tab
Hasil sementara dapat dilihat pada gambar berikut:
→ Dapat dilihat bahwa hasil hanya berupa tampilan biasa dari
beberapa tag div dengan style yang ada.
CSS
/* ======== Section-Title ========*/
.accordion-section-title {
width: 100%;
padding: 15px;
display: inline-block;
border-bottom: 1px solid #1a1a1a;
background: #2F5B2F;
transition: all linear 0.15s;
font-size: 1.2em;
text-shadow: 0px 1px 0px #1a1a1a;
color: #fff;
}
Implementasi Tab - 4
Beri style untuk section title dari
elemen accordion.
Beri juga transition untuk
memperhalus animasi yang akan
dilakukan interaksi seperti hover.
CSS
.active, .accordion-section-title:hover {
background: #338570;
text-decoration: none;
}
.accordion-section:last-child .accordion-
section-title {
border-bottom: none;
}
/* ======== Section Content ========*/
.accordion-section-content {
padding: 15px;
display: none;
}
Implementasi Tab - 5
Definisikan juga kelakuan dari
judul accordion ketika mouse ada
di dalam elemen tersebut, juga
kelakuan ketika elemen tersebut
sedang dipilih oleh user.
Lalu sembunyikan semua
konten di awal dengan
mendefinisikan display: none
pada konten elemen accordion.
Implementasi Tab
Hasil sementara dapat dilihat pada gambar berikut:
→ Dapat dilihat bahwa accordion sudah terbentuk, tetapi masih belum
bisa dipakai karena belum ada script yang menangani interaksi antara
user dan elemennya.
Javascript (JQuery)
$(document).ready(function() {
function close_accordion_section() {
$('.accordion .accordion-section-title').removeClass('active');
$('.accordion .accordion-section-content').slideUp(300).removeClass('open');
}
$('.accordion-section-title').click(function(e) {
var currentAttrValue = $(this).attr('href');
if($(e.target).is('.active')) {
close_accordion_section();
} else {
close_accordion_section();
$(this).addClass('.active');
$('.accordion' + 'currentAttrValue').slideDown(300).addClass('open');
}
e.preventDefault();
});
});
Implementasi Tab - 6
Implementasi Tab - 7
Penjelasan Javascript (Jquery):
1. Fungsi pertama yang didefinisikan adalah untuk menutup semua elemen
accordion yang ada
2. Fungsi kedua yang didefinisikan adalah untuk menangani klik dari
pengguna
o Saat pengguna mengklik judul elemen accordion, script akan
menyimpan atribut href yang ada dalam judul dan melakukan
pemeriksaan serta mengoper atribut elemen yang akan dibuka.
i. Apabila elemen yang diklik telah terbuka, maka lakukan
pentutupan semua dengan memanggil fungsi pertama
ii. Apabila elemen belum terbuka, maka tutup semua elemen, dan
buka elemen yang terpilih (diklik)
Finalisasi
Setelah accordion telah selesai dibuat, Anda bisa mengubah dan
menyesuaikannya sesuai dengan selera Anda.
Anda bisa menambah menu, mengubah warna, ukuran, dll sesuai
kreativitas Anda.
Contoh dapat dilihat pada Codepen Kuliahkita

More Related Content

More from KuliahKita

CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbKuliahKita
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarKuliahKita
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutKuliahKita
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanKuliahKita
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)KuliahKita
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)KuliahKita
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)KuliahKita
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligenceKuliahKita
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03KuliahKita
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02KuliahKita
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01KuliahKita
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementKuliahKita
 
Pasar Saham - 25 Balance Sheet Statement
Pasar Saham - 25 Balance Sheet StatementPasar Saham - 25 Balance Sheet Statement
Pasar Saham - 25 Balance Sheet StatementKuliahKita
 
Pasar Saham - 24 memahami Profit & Loss Statement
Pasar Saham - 24 memahami Profit & Loss StatementPasar Saham - 24 memahami Profit & Loss Statement
Pasar Saham - 24 memahami Profit & Loss StatementKuliahKita
 
Pasar Saham - 23 Membaca Laporan Keuangan
Pasar Saham - 23 Membaca Laporan KeuanganPasar Saham - 23 Membaca Laporan Keuangan
Pasar Saham - 23 Membaca Laporan KeuanganKuliahKita
 
Pasar Saham - 22 Mindset Investor
Pasar Saham - 22 Mindset InvestorPasar Saham - 22 Mindset Investor
Pasar Saham - 22 Mindset InvestorKuliahKita
 
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)KuliahKita
 
Pasar Saham - 20 Teori Dow
Pasar Saham - 20 Teori DowPasar Saham - 20 Teori Dow
Pasar Saham - 20 Teori DowKuliahKita
 
Pasar Saham - 19 Indikator
Pasar Saham - 19 IndikatorPasar Saham - 19 Indikator
Pasar Saham - 19 IndikatorKuliahKita
 
Pasar Saham - 17 Volume
Pasar Saham - 17 VolumePasar Saham - 17 Volume
Pasar Saham - 17 VolumeKuliahKita
 

More from KuliahKita (20)

CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
 
Pasar Saham - 25 Balance Sheet Statement
Pasar Saham - 25 Balance Sheet StatementPasar Saham - 25 Balance Sheet Statement
Pasar Saham - 25 Balance Sheet Statement
 
Pasar Saham - 24 memahami Profit & Loss Statement
Pasar Saham - 24 memahami Profit & Loss StatementPasar Saham - 24 memahami Profit & Loss Statement
Pasar Saham - 24 memahami Profit & Loss Statement
 
Pasar Saham - 23 Membaca Laporan Keuangan
Pasar Saham - 23 Membaca Laporan KeuanganPasar Saham - 23 Membaca Laporan Keuangan
Pasar Saham - 23 Membaca Laporan Keuangan
 
Pasar Saham - 22 Mindset Investor
Pasar Saham - 22 Mindset InvestorPasar Saham - 22 Mindset Investor
Pasar Saham - 22 Mindset Investor
 
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)
Pasar Saham - 21 Pengenalan Fundamental Analysis (FA)
 
Pasar Saham - 20 Teori Dow
Pasar Saham - 20 Teori DowPasar Saham - 20 Teori Dow
Pasar Saham - 20 Teori Dow
 
Pasar Saham - 19 Indikator
Pasar Saham - 19 IndikatorPasar Saham - 19 Indikator
Pasar Saham - 19 Indikator
 
Pasar Saham - 17 Volume
Pasar Saham - 17 VolumePasar Saham - 17 Volume
Pasar Saham - 17 Volume
 

Recently uploaded

perbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxperbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxMuhamadIrfan190120
 
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdfB_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf114210034
 
Konsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifierKonsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifierbudi194705
 
PEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian KompetePEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian KompeteIwanBasinu1
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptxVinaAmelia23
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxyoodika046
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxarifyudianto3
 
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxUTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxAndimarini2
 
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdfPengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdffitriAnnisa54
 
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE TriwulanpptxLaporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptxilanarespatinovitari1
 
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.pptPresentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.pptarifyudianto3
 
sample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Partsample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Parthusien3
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptxEnginerMine
 
LAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdfLAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdfIftitahKartika
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxArisatrianingsih
 
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPusatKeteknikanKehut
 
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).pptBAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).pptDellaEkaPutri2
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...rororasiputra
 

Recently uploaded (19)

Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
 
perbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxperbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptx
 
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdfB_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
 
Konsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifierKonsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifier
 
PEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian KompetePEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian Kompete
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
 
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxUTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
 
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdfPengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
 
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE TriwulanpptxLaporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
 
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.pptPresentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
 
sample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Partsample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Part
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
 
LAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdfLAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdf
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
 
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
 
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).pptBAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
 

CSS Eksperimen - 04-2 accordion

  • 1. Accordion Eksperimen CSS Kuliahkita - Georgius Rinaldo dodo@kuliahkita.com
  • 2. Pendahuluan Sebelumnya telah dibahas penggunaan tab untuk menampilkan informasi yang dapat dikategorikan dalam satu kelompok. Pada materi kali ini, Kita juga akan membahas cara penampilan informasi lainnya, hanya dengan cara yang berbeda yaitu dengan menggunakan Accordion.
  • 3. Kelakuan Accordion Accordion akan “membuka” informasi pada container dari sebuah tab yang dipilih. Tambahan lainnya adalah, CSS akan menutup container lainnya yang tidak dipilih ketika user telah memilih sebuah tab. Terbuka Tertutup Tertutup
  • 4. HTML <div class="accordion"> <div class="accordion-section"> <a class="accordion-section-title" href="accordion-1">Hewan</a> <div id="accordion-1" class="accordion-section-content"> <p>Kucing, Anjing, Hamster, Ikan</p> </div> </div> <div class="accordion-section"> <a class="accordion-section-title" href="accordion-2">Tanaman</a> <div id="accordion-2" class="accordion-section-content"> <p>Mawar, Anggrek, Melati, Jati, Pinus, Jamur</p> </div> </div> </div> Implementasi Tab - 1 Pertama Kita buat dulu kerangka kodenya HTML-nya sebelum diberi style.
  • 5. HTML <div class="accordion"> <div class="accordion-section"> <a class="accordion-section-title" href="accordion-1">Hewan</a> <div id="accordion-1" class="accordion-section-content"> <p>Kucing, Anjing, Hamster, Ikan</p> </div> </div> ... </div> Implementasi Tab - 2 Dapat diperhatikan bahwa terdapat container keseluruhan, dan elemen accordion yang dibungkus dalam kelas accordion-section. Dalam sebuah section terdiri dari 2 bagian yaitu judul dan konten yang dapat dilihat pada kode HTML.
  • 6. CSS /* ======== Accordion ========*/ .accordion, .accordion* { box-sizing: border-box; } .accordion{ overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.25); border-radius: 3px; background: #e0e0e0; } Implementasi Tab - 3 Pertama Kita buat style general dari accordion tersebut terlebih dahulu yang mencakup seperti pada kode di sebelah. Hasil sementara hanya akan berupa tampilan sederhana dari tumpukan tag div.
  • 7. Implementasi Tab Hasil sementara dapat dilihat pada gambar berikut: → Dapat dilihat bahwa hasil hanya berupa tampilan biasa dari beberapa tag div dengan style yang ada.
  • 8. CSS /* ======== Section-Title ========*/ .accordion-section-title { width: 100%; padding: 15px; display: inline-block; border-bottom: 1px solid #1a1a1a; background: #2F5B2F; transition: all linear 0.15s; font-size: 1.2em; text-shadow: 0px 1px 0px #1a1a1a; color: #fff; } Implementasi Tab - 4 Beri style untuk section title dari elemen accordion. Beri juga transition untuk memperhalus animasi yang akan dilakukan interaksi seperti hover.
  • 9. CSS .active, .accordion-section-title:hover { background: #338570; text-decoration: none; } .accordion-section:last-child .accordion- section-title { border-bottom: none; } /* ======== Section Content ========*/ .accordion-section-content { padding: 15px; display: none; } Implementasi Tab - 5 Definisikan juga kelakuan dari judul accordion ketika mouse ada di dalam elemen tersebut, juga kelakuan ketika elemen tersebut sedang dipilih oleh user. Lalu sembunyikan semua konten di awal dengan mendefinisikan display: none pada konten elemen accordion.
  • 10. Implementasi Tab Hasil sementara dapat dilihat pada gambar berikut: → Dapat dilihat bahwa accordion sudah terbentuk, tetapi masih belum bisa dipakai karena belum ada script yang menangani interaksi antara user dan elemennya.
  • 11. Javascript (JQuery) $(document).ready(function() { function close_accordion_section() { $('.accordion .accordion-section-title').removeClass('active'); $('.accordion .accordion-section-content').slideUp(300).removeClass('open'); } $('.accordion-section-title').click(function(e) { var currentAttrValue = $(this).attr('href'); if($(e.target).is('.active')) { close_accordion_section(); } else { close_accordion_section(); $(this).addClass('.active'); $('.accordion' + 'currentAttrValue').slideDown(300).addClass('open'); } e.preventDefault(); }); }); Implementasi Tab - 6
  • 12. Implementasi Tab - 7 Penjelasan Javascript (Jquery): 1. Fungsi pertama yang didefinisikan adalah untuk menutup semua elemen accordion yang ada 2. Fungsi kedua yang didefinisikan adalah untuk menangani klik dari pengguna o Saat pengguna mengklik judul elemen accordion, script akan menyimpan atribut href yang ada dalam judul dan melakukan pemeriksaan serta mengoper atribut elemen yang akan dibuka. i. Apabila elemen yang diklik telah terbuka, maka lakukan pentutupan semua dengan memanggil fungsi pertama ii. Apabila elemen belum terbuka, maka tutup semua elemen, dan buka elemen yang terpilih (diklik)
  • 13. Finalisasi Setelah accordion telah selesai dibuat, Anda bisa mengubah dan menyesuaikannya sesuai dengan selera Anda. Anda bisa menambah menu, mengubah warna, ukuran, dll sesuai kreativitas Anda. Contoh dapat dilihat pada Codepen Kuliahkita