Javascript 它不是一个接一个地切换到主题,而是以';太阳能';主题和主题';不要改变。什么';问题出在哪里?

Javascript 它不是一个接一个地切换到主题,而是以';太阳能';主题和主题';不要改变。什么';问题出在哪里?,javascript,html,web,themes,Javascript,Html,Web,Themes,这是密码- const bodyClassList = document.body.classList; const bodyClass = document.body.className; const themes = ["light", "solar", "dark"]; themeBtn.addEventListener('click', () => { themes.forEach(theme => {

这是密码-

const bodyClassList = document.body.classList;
const bodyClass = document.body.className;
const themes = ["light", "solar", "dark"];

themeBtn.addEventListener('click', () => {
   themes.forEach(theme => {
      bodyClassList.replace(bodyClass, theme);  
   })
   
   theme = document.body.className;
   console.log(theme);
})

它不是一个接一个地切换到主题,而是以“太阳能”主题结束,不会改变。有什么问题吗?

我不完全理解您的任务,但我认为您需要为
主体
标记的几个背景色类设置一个开关

我为您提供了一个使用
switch
操作符以及
themes[…]
数组中的类索引计数器在类之间切换的示例

接下来,我清理
类列表

bodyClassList.classList = '';
并添加具有适当索引的类:

bodyClassList.classList.add(themes[index]);
这样的结果有必要吗

const bodyClassList=document.body;
常量主题=[“光”、“太阳”、“暗”];
const themeBtn=document.querySelector('.themeBtn');
设指数=0;
themeBtn.addEventListener('单击',()=>{
开关(索引){
案例0:
指数=1;
打破
案例1:
指数=2;
打破
案例2:
指数=0;
打破
} 
bodyClassList.classList='';
bodyClassList.classList.add(主题[索引]);
})
正文{
背景色:白色;
}
.光{
背景颜色:浅灰色;
}
.太阳能{
背景颜色:黄色;
}
.黑暗{
背景色:黑色;
}

主题
我不完全理解您的任务,但我认为您需要切换
主体
标记的几个背景色类

我为您提供了一个使用
switch
操作符以及
themes[…]
数组中的类索引计数器在类之间切换的示例

接下来,我清理
类列表

bodyClassList.classList = '';
并添加具有适当索引的类:

bodyClassList.classList.add(themes[index]);
这样的结果有必要吗

const bodyClassList=document.body;
常量主题=[“光”、“太阳”、“暗”];
const themeBtn=document.querySelector('.themeBtn');
设指数=0;
themeBtn.addEventListener('单击',()=>{
开关(索引){
案例0:
指数=1;
打破
案例1:
指数=2;
打破
案例2:
指数=0;
打破
} 
bodyClassList.classList='';
bodyClassList.classList.add(主题[索引]);
})
正文{
背景色:白色;
}
.光{
背景颜色:浅灰色;
}
.太阳能{
背景颜色:黄色;
}
.黑暗{
背景色:黑色;
}

theme
你能给出一个工作示例吗?你想在点击按钮时用一个特定的主题来更改主题,还是想制作某种动画(更改主题,先亮后暗)当你点击按钮时?你能给出一个工作示例吗?当你点击按钮时,你想用一个特定的主题来改变主题,或者当你点击按钮时,你想有一些动画(改变主题,先亮后暗),谢谢!我真的很困惑:谢谢!我真的很困惑:D