首页 > web前端 > js教程 > 正文

如何在不重新加载的情况下动态更改网页上的 CSS 样式?

Linda Hamilton
发布: 2024-10-30 10:36:03
原创
330 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!