Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mengubah Pembolehubah CSS Secara Dinamik Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengubah Pembolehubah CSS Secara Dinamik Menggunakan JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-12-12 21:05:12
asal
506 orang telah melayarinya

How Can I Dynamically Change CSS Variables Using JavaScript?

Mengedit Pembolehubah CSS dengan JS

Anda sedang cuba mengedit pembolehubah CSS untuk mengawal penggayaan projek anda secara dinamik. Walaupun anda telah menentukan pembolehubah seperti --main-background-image dan --main-text-color, anda menghadapi ralat semasa cuba menukar nilainya menggunakan atribut.

Punca Punca

Ralat yang anda hadapi adalah disebabkan oleh penggunaan kaedah setAttribute yang salah untuk menukar CSS pembolehubah.

Penyelesaian

Terdapat tiga kaedah untuk mengedit pembolehubah CSS dengan JS:

  • style.cssTeks:

    document.documentElement.style.cssText = "--main-background-color: red";
    Salin selepas log masuk
  • style.setProperty:

    document.documentElement.style.setProperty("--main-background-color", "green");
    Salin selepas log masuk
  • setAttribute (dengan atribut "style"):

    document.documentElement.setAttribute("style", "--main-background-color: green");
    Salin selepas log masuk

Dalam coretan kod anda, gantikan baris yang diulas dengan salah satu kaedah di atas untuk berjaya mengedit pembolehubah CSS.

Demo

Pertimbangkan perkara berikut contoh:

html {
  --main-background-color: rgba(0,0,0,.25);
}

body {
  background-color: var(--main-background-color);
}
Salin selepas log masuk
window.onload = function() {
  setTimeout(function() {
    document.documentElement.style.cssText = "--main-background-color: red";
  }, 2000);
};
Salin selepas log masuk

Dalam demo ini, nilai --main-background-color bertukar kepada merah dua saat selepas halaman dimuatkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Pembolehubah CSS Secara Dinamik Menggunakan JavaScript?. 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