body tag adalah tag terluar dari sebuah struktur HTML sebuah halaman web, dan HTML tag adalah tag terluar dari sebuah halaman web. Untuk itu, menambahkan class pada body maupun html dapat mempermudah melakukan tindakan pada elemen-elemen yang ada di dalamnya.Menambahkan
class pada body maupun html tag lazimnya dapat dilakukan dengan 2 situasi, yaitu dengan onscroll dan onclick event. Masing-masing digunakan sesuai situasi yang diinginkan.class pada body maupun html tag dengan onscroll dapat berguna misalnya untuk membuat sticky header, show hide tombol scroll to top, atau show hide elemen lain berdasarkan scroll halaman.Menambahkan
class pada body maupun html tag dengan onclick dapat berguna misalnya untuk menyembunyikan atau menampilkan sebuah elemen dengan mengklik sebuah tombol, atau juga bisa untuk membuat dark mode halaman, atau lainnya sesuai kreasi Anda.Untuk mengenali
body tag dengan Javascript dapat menggunakan document.body dan untuk html tag dapat menggunakan document.documentElementAdd Remove Class on body or html Tag Onscroll
Untuk menambahkanclass pada body maupun html tag dengan onscroll dapat menggunakan Javascript berikut. Ini adalah plain Javascript jadi tidak memerlukan Jquery Library.
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop != 0 || document.documentElement.scrollTop != 0) {
var element, name, arr;
element = document.body;
name = "flow";
arr = element.className.split(" ");
if (arr.indexOf(name) == -1) {
element.className += " " + name;
}
} else {
var element = document.body;
element.className = element.className.replace(" flow","")
}
}
Jika Anda ingin berdasarkan jarak scroll dari tepi atas, ganti kode != 0 dengan > 200. Angka 200 silahkan ganti sesuaikan dengan keinginan Anda.Kode nama class
flow silahkan sesuaikan dengan keinginan Anda.Javascript di atas akan menambakan
class pada body tag ketika discroll ke bawah, jika ingin menambahkan class pada html tag silahkan ganti document.body yang ditandai dengan document.documentElementDan ketika halaman discroll ke atas dan kembali ke posisi semula, maka
class yang ditambahkan tadi akan otomatis dihapus.Add Remove Class on body or html Tag Onclick
Untuk menambahkanclass pada body maupun html tag dengan onclick dapat menggunakan Javascript berikut. Ini adalah plain Javascript jadi tidak memerlukan Jquery Library.
function onclickAddclass() {
var element, name, arr;
element = document.body;
name = "flow";
arr = element.className.split(" ");
if (arr.indexOf(name) == -1) {
element.className += " " + name;
}
}
function onclickRemoveclass() {
var element = document.body;
element.className = element.className.replace(" flow","")
}
Kode nama class flow silahkan sesuaikan dengan keinginan Anda.Javascript di atas akan menambakan
class pada body tag, jika ingin menambahkan class pada html tag silahkan ganti document.body yang ditandai dengan document.documentElementSelanjutnya buat tombol untuk Add Remove class seperti berikut:
<div aria-label="Add Class" onClick="onclickAddclass()" role="button" tabindex="0">Add class to body</div>
<div aria-label="Remove Class" onClick="onclickRemoveclass()" role="button" tabindex="0">Remove class from body</div>
Melakukan Tindakan Setelah Menambahkan Class
Setelahclass ditambahkan pada body atau html tag, maka selanjutnya kita bisa melakukan tindakan pada elemen yang dimaksud dengan CSS Style.Sebagai contoh show hide tombol scroll to top onscroll sebagai berikut:
.scrolltotop {
display: none;
}
.flow .scrolltotop {
display: block;
}
Sebagai contoh lain misalnya menghilangkan sidebar dengan onclick sebagai berikut:
.sidebar {
display: block;
}
.flow .sidebar {
display: none;
}
Class .flow adalah class yang ditambahkan pada body maupun html tag. Style di atas berlaku untuk onscroll dan onclick.Selamat mencoba dan selamat berkreasi.