Javascript 我的代码出现故障,但我可以';我不明白我的意思;我做错了

Javascript 我的代码出现故障,但我可以';我不明白我的意思;我做错了,javascript,html,jquery,vue.js,Javascript,Html,Jquery,Vue.js,我最近一直在尝试制作一个黑暗/光明模式的功能,我真的很困惑到底哪里出了问题 我做了三个函数:toggleTheme(),它检查黑暗模式是否打开,如果打开,它运行lightTheme()。否则,它将运行darkTheme()。我知道toggleTheme正在工作,所以肯定是light和darkTheme函数没有按预期工作。这是我的密码: var vuey=新的Vue({ el:“主要”, 数据:{ 黑暗状态:“关闭” } }); 可变色差={ lightModeBg:#ddd“, 黑暗模式:“3

我最近一直在尝试制作一个黑暗/光明模式的功能,我真的很困惑到底哪里出了问题

我做了三个函数:toggleTheme(),它检查黑暗模式是否打开,如果打开,它运行lightTheme()。否则,它将运行darkTheme()。我知道toggleTheme正在工作,所以肯定是light和darkTheme函数没有按预期工作。这是我的密码:

var vuey=新的Vue({
el:“主要”,
数据:{
黑暗状态:“关闭”
}
});
可变色差={
lightModeBg:#ddd“,
黑暗模式:“303030”
}
函数toggleTheme(){
如果(vuey.darkModeStatus==“开”){
lightTheme();
}否则{
暗色调();
}
}
函数lightTheme(){
$(“h1”)、$(“h2”)、$(“h3”)、$(“h4”)、$(“h5”).css(“颜色”、“黑色”);
document.body.style.backgroundColor=颜色.lightModeBg;
vuey.darkModeStatus=“关”;
}
函数暗线(){
$(“h1”)、$(“h2”)、$(“h3”)、$(“h4”)、$(“h5”)。css(“颜色”、“白色”);
document.body.style.backgroundColor=颜色.lightModeBg;
vuey.darkModeStatus=“On”;
}
正文{
背景色:#ddd;
}

钟
好啊
暗模式:{{darkModeStatus}}

您的jquery选择器错误

$(“h1”)、$(“h2”)、$(“h3”)、$(“h4”)、$(“h5”).css(“颜色”、“黑色”)

这只会让最后一个h5变成黑色

你想要的是这种格式

$(“h4,h5”).css(“颜色”、“黑色”)

欲了解更多信息,请访问

请参见下面的示例,如果看不到切换按钮,请单击完整页面链接

var vuey=新的Vue({
el:“主要”,
数据:{
黑暗状态:“关闭”
}
});
可变色差={
lightModeBg:#ddd“,
黑暗模式:“303030”
}
函数toggleTheme(){
如果(vuey.darkModeStatus==“开”){
lightTheme();
}否则{
暗色调();
}
}
函数lightTheme(){
$(“h1、h2、h3、h4、h5”).css(“颜色”、“黑色”);
document.body.style.backgroundColor=颜色.lightModeBg;
vuey.darkModeStatus=“关”;
}
函数暗线(){
$(“h1、h2、h3、h4、h5”).css(“颜色”、“白色”);
document.body.style.backgroundColor=颜色.lightModeBg;
vuey.darkModeStatus=“On”;
}
正文{
背景色:#ddd;
}

好啊
暗模式:{{darkModeStatus}}

您的代码似乎有两个错误 主要的一个是你的两个函数都设置了颜色。lightModeBg这需要更改,第二个是你的jquery似乎不正确$(“h1”),$(“h2”),$(“h3”),$(“h4”),$(“h5”)。css(“颜色”,“白色”)这一个,所以我将其更改为$(“h1”)。下面两个函数中的css(“颜色”,“白色”)是它现在工作的代码


钟
好啊
暗模式:{{darkModeStatus}}
var Vue=新的Vue({
el:“主要”,
数据:{
黑暗状态:“关闭”
}
});
可变色差={
lightModeBg:#ddd“,
黑暗模式:“303030”
}
函数toggleTheme(){
如果(vuey.darkModeStatus==“开”){
lightTheme();
}否则{
暗色调();
}
}
函数lightTheme(){
$(“h1”).css(“颜色”、“黑色”);
document.body.style.backgroundColor=颜色.lightModeBg;
vuey.darkModeStatus=“关”;
}
函数暗线(){
$(“h1”).css(“颜色”、“白色”);
document.body.style.backgroundColor=themeColors.darkModeBg;
vuey.darkModeStatus=“On”;
}
身体{
背景色:#ddd;
}

两个功能都指示

backgroundColor = themeColors.lightModeBg

只需将lightModeBg更改为darkModeBg

我很确定jquery的工作方式不是这样的
$(“h1”)、$(“h2”)、$(“h3”)、$(“h4”)、$(“h5”).css(“颜色”、“黑色”)这只会将最后一个h5变成黑色。您需要的是这种格式
$(“h4,h5”).css(“颜色”,“黑色”)