You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript和单个按钮切换4个CSS样式表?

解决多CSS文件循环切换问题

你的代码核心问题有两个:

1. 样式表元素的属性错误

<link>标签(用于引入CSS)使用href属性指定文件路径,而非<img>标签用的src属性。你需要把style.src = stylesUrl;改为style.href = stylesUrl;。

2. 初始切换无效果的逻辑问题

页面初始加载的是style1.css,而你的数组第一个元素也是它,导致第一次调用函数时只是重复设置当前样式表,看不到切换效果。调整数组初始顺序,让第一个元素是下一个要切换的样式表即可。

修正后的完整代码

HTML部分

<link id="styles" rel="stylesheet" href="css/style1.css">
<button onclick="changeStylesheet()">切换样式</button>

JavaScript部分

var stylesUrls = ["css/style2.css", "css/style3.css", "css/style4.css", "css/style1.css"];

function changeStylesheet(){
    var style = document.getElementById('styles');
    var stylesUrl = stylesUrls.shift();
    style.href = stylesUrl;
    stylesUrls.push(stylesUrl);
}

逻辑说明

  • 初始数组按style2 → style3 → style4 → style1排序,第一次点击按钮就会切换到style2.css
  • 每次调用shift()取出数组第一个元素,设置为样式表路径后,再用push()把它放到数组末尾,实现循环切换

内容的提问来源于stack exchange,提问作者Tor Erik Solem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:45:31