


Bagaimanakah Saya Boleh Tukar Secara Dinamik CSS :hover Properties dengan JavaScript?
Tukar CSS :hover Properties Secara Dinamik dengan JavaScript
Adalah intuitif untuk berfikir kita boleh memanipulasi sifat CSS :hover dengan JavaScript melalui sifat biasa objek. Walau bagaimanapun, :hover ialah kelas pseudo yang menggunakan gaya pada elemen hanya apabila tetikus melayang di atasnya. Ini bermakna ia tidak boleh diakses secara langsung melalui objek sifat.
Untuk memanipulasi sifat :hover dengan JavaScript, seseorang mesti melangkaui objek sifat dan berusaha untuk memanipulasi lembaran gaya itu sendiri. Ini boleh dicapai dalam beberapa cara, masing-masing dengan kebaikan dan keburukannya:
Pengubahsuaian CSS Langsung:
document.getElementsByTagName("style")[0].innerHTML = 'table td:hover{ background-color: #00ff00 }';
Walaupun pengubahsuaian langsung boleh dilakukan dengan pantas, ia menimpa lembaran gaya sedia ada, yang berpotensi membawa kepada akibat yang tidak dijangka.
Mencipta yang Baharu Lembaran gaya:
var css = 'table td:hover{ background-color: #00ff00 }'; var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style);
Kaedah ini membenarkan perubahan penggayaan yang lebih terkawal dengan mencipta helaian gaya baharu yang hanya menyertakan pengubahsuaian :hover yang dikehendaki. Walau bagaimanapun, ia juga membawa overhed untuk mengekalkan berbilang lembaran gaya.
Melampirkan Peraturan Baharu pada Lembaran Gaya Semasa:
if (style.styleSheet) { style.styleSheet.cssText += 'table td:hover{ background-color: #00ff00 }'; } else { style.appendChild(document.createTextNode('table td:hover{ background-color: #00ff00 }')); }
Pendekatan ini memanjangkan lembaran gaya semasa dengan menambahkan peraturan baru :hover. Ia menawarkan keseimbangan antara pengubahsuaian langsung dan mencipta helaian gaya baharu.
Akhirnya, kaedah yang dipilih bergantung pada kerumitan perubahan yang diperlukan dan keseluruhan seni bina tapak web. Mengubah suai sifat :hover secara dinamik dengan JavaScript memberikan fleksibiliti dalam mencipta kesan interaktif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tukar Secara Dinamik CSS :hover Properties dengan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Pernahkah anda memerlukan pemasa undur dalam projek? Untuk sesuatu seperti itu, mungkin semula jadi untuk mencapai plugin, tetapi sebenarnya lebih banyak lagi

Semua yang anda ingin tahu mengenai atribut data dalam HTML, CSS, dan JavaScript.

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Satu perkara yang menarik perhatian saya pada senarai ciri-ciri untuk Lea Verou ' s conic-gradient () polyfill adalah item terakhir:

Arahan template inline membolehkan kita membina komponen Vue yang kaya sebagai peningkatan progresif ke atas markup WordPress yang sedia ada.

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Templat PHP sering mendapat rap buruk untuk memudahkan kod subpar - tetapi itu tidak perlu berlaku. Mari kita lihat bagaimana projek PHP dapat menguatkuasakan asas

Setiap kali saya memulakan projek baru, saya menyusun kod yang saya cari dalam tiga jenis, atau kategori jika anda suka. Dan saya fikir jenis ini boleh digunakan
