Javascript 我的代码出现故障,但我可以';我不明白我的意思;我做错了
我最近一直在尝试制作一个黑暗/光明模式的功能,我真的很困惑到底哪里出了问题 我做了三个函数:toggleTheme(),它检查黑暗模式是否打开,如果打开,它运行lightTheme()。否则,它将运行darkTheme()。我知道toggleTheme正在工作,所以肯定是light和darkTheme函数没有按预期工作。这是我的密码:Javascript 我的代码出现故障,但我可以';我不明白我的意思;我做错了,javascript,html,jquery,vue.js,Javascript,Html,Jquery,Vue.js,我最近一直在尝试制作一个黑暗/光明模式的功能,我真的很困惑到底哪里出了问题 我做了三个函数:toggleTheme(),它检查黑暗模式是否打开,如果打开,它运行lightTheme()。否则,它将运行darkTheme()。我知道toggleTheme正在工作,所以肯定是light和darkTheme函数没有按预期工作。这是我的密码: var vuey=新的Vue({ el:“主要”, 数据:{ 黑暗状态:“关闭” } }); 可变色差={ lightModeBg:#ddd“, 黑暗模式:“3
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(“颜色”,“黑色”)非常感谢你。你能把它作为一个答案贴出来,这样我就可以把它标记为解决方案了吗?我还链接了多选择器jquery文档,如果你感兴趣的话,你可以阅读一下