Skip to main content
KOMPI AJAIB

follow us

Menambah Dan Menghapus Class Pada Body Atau HTML Tag Dengan Javascript

Menambah Dan Menghapus Class Pada Body Atau HTML Tag Dengan Javascript - Ketika kita membuat sebuah halaman web, terkadang kita memerlukan sebuah situasi untuk melakukan sebuah tindakan. Maka kita memerlukan sebuah selektor untuk memudahkan kita memberikan tindakan yang diinginkan. Dan kali ini kita akan menambahkan class pada body tag atau HTML tag dengan Javascript.

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.

Menambahkan 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.documentElement

Add Remove Class on body or html Tag Onscroll

Untuk menambahkan class 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.documentElement

Dan 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 menambahkan class 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.documentElement

Selanjutnya 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

Setelah class 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.

You Might Also Like:

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar