首页 >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