Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh menukar fail CSS secara dinamik untuk menukar gaya halaman web tanpa memuatkan semula?

Bagaimanakah saya boleh menukar fail CSS secara dinamik untuk menukar gaya halaman web tanpa memuatkan semula?

Mary-Kate Olsen
Lepaskan: 2024-10-29 17:57:02
asal
1041 orang telah melayarinya

How can I dynamically swap CSS files to change a webpage's style without reloading?

Menukar Fail CSS Secara Dinamik kepada Mengubah Gaya Halaman

Dalam pembangunan web, selalunya wajar untuk mengubah suai gaya visual halaman dengan cepat. Ini boleh dicapai dengan menggantikan fail CSS sedia ada dengan yang lain. Begini cara anda boleh melakukannya dengan berkesan tanpa perlu memuatkan semula halaman:

Termasuk Berbilang Lembaran Gaya

Mulakan dengan memasukkan semua fail CSS yang berpotensi dalam pengepala dokumen HTML. Dalam kes ini, kami mempunyai "light.css" dan "dark.css".

Aktifkan dan Nyahaktifkan Helaian Gaya

Untuk menogol helaian gaya aktif, anda boleh sama ada mengubah suai hubungannya dengan dokumen, tetapkan atributnya yang dilumpuhkan atau laraskan atribut medianya.

Menggunakan rel=alternate

<script>
  function enableStylesheet(node) {
    node.rel = 'stylesheet';
  }

  function disableStylesheet(node) {
    node.rel = 'alternate stylesheet';
  }
</script>
Salin selepas log masuk

Tetapan dilumpuhkan

<script>
  function enableStylesheet(node) {
    node.disabled = false;
  }

  function disableStylesheet(node) {
    node.disabled = true;
  }
</script>
Salin selepas log masuk

Menggunakan media=none

<script>
  function enableStylesheet(node) {
    node.media = '';
  }

  function disableStylesheet(node) {
    node.media = 'none';
  }
</script>
Salin selepas log masuk

Contoh Penggunaan

Gunakan getElementById atau pemilih lain untuk menyasarkan tertentu nod lembaran gaya. Sebagai contoh, jika anda mempunyai butang yang mencetuskan pertukaran gaya, anda boleh melakukan sesuatu seperti ini:

document.querySelector('#swap-button').addEventListener('click', () => {
  disableStylesheet(document.getElementById('light'));
  enableStylesheet(document.getElementById('dark'));
});
Salin selepas log masuk

Pendekatan ini membolehkan anda bertukar dengan lancar antara fail CSS yang berbeza dan menggunakan gayanya secara dinamik, tanpa perlu bimbang tentang menetapkan semula gaya elemen atau memuat semula halaman.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar fail CSS secara dinamik untuk menukar gaya halaman web tanpa memuatkan semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan