首頁 >web前端 >js教程 >如何在不重新載入的情況下動態更改網頁上的 CSS 樣式?

如何在不重新載入的情況下動態更改網頁上的 CSS 樣式?

Linda Hamilton
Linda Hamilton原創
2024-10-30 10:36:03387瀏覽

How can I dynamically change CSS styles on a web page without reloading?

動態交換 CSS 樣式

您想要動態變更網頁的 CSS 樣式,將一個樣式表取代為另一個樣式表。在普通 JavaScript 或 jQuery 中,您可以透過包含所有必要的樣式表,然後選擇性地啟用或停用它們來實現此目的。

選項1:切換rel=alternate

包含樣式表使用「rel=alternate」並切換其狀態:

<code class="html"><link rel="stylesheet"           href="main.css">
<link rel="stylesheet alternate" href="light.css" id="light" title="Light">
<link rel="stylesheet alternate" href="dark.css"  id="dark"  title="Dark"></code>
<code class="javascript">function enableStylesheet (node) {
  node.rel = 'stylesheet';
}

function disableStylesheet (node) {
  node.rel = 'alternate stylesheet';
}</code>

選項2:設定和切換禁用

包含帶有“rel=stylesheet”的樣式表和“class=alternate”,並切換其“禁用”屬性:

<code class="html"><link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="light.css" id="light" class="alternate">
<link rel="stylesheet" href="dark.css"  id="dark"  class="alternate"></code>
<code class="javascript">function enableStylesheet (node) {
  node.disabled = false;
}

function disableStylesheet (node) {
  node.disabled = true;
}</code>

選項3:切換media=none

包含帶有「的樣式表media=none」並切換其「media」屬性:

<code class="html"><link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="light.css" media="none" id="light">
<link rel="stylesheet" href="dark.css"  media="none" id="dark"></code>
<code class="javascript">function enableStylesheet (node) {
  node.media = '';
}

function disableStylesheet (node) {
  node.media = 'none';
}</code>

使用getElementById、querySelector 或其他方法選擇樣式表節點。如果需要,可以使用 jQuery 進行進一步處理。這種方法可讓您即時切換 CSS 樣式,而無需重新載入頁面。

以上是如何在不重新載入的情況下動態更改網頁上的 CSS 樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn