【发布时间】:2020-02-14 10:19:09
【问题描述】:
我一直在努力在菜单栏和页脚页面上添加 2 个具有不同样式 (css) 的切换按钮。它们将用于夜间和黑暗模式。
但是当我使用
onclick="themeToggle()" id="theme-switcher"
对于这两个按钮,只有一个有效。
这是正在使用的js:
var tSwitcher = document.getElementById('theme-switcher');
let element = document.body;
let onpageLoad = localStorage.getItem("theme") || "";
if(onpageLoad != null && onpageLoad == 'dark-mode'){
tSwitcher.checked = true;
}
element.classList.add(onpageLoad);
function themeToggle(){
if(tSwitcher.checked){
localStorage.setItem('theme', 'dark-mode');
element.classList.add('dark-mode');
} else {
localStorage.setItem('theme', '');
element.classList.remove('dark-mode');
}
}
这是两个切换按钮的代码
<label class="switcher">
<input type="checkbox" onclick="themeToggle()" id="theme-switcher">
<div>
<i class="fas fa-sun"></i>
<i class="fas fa-arrow-left arrow"></i>
<i class="fas fa-moon"></i>
</div>
</label>
<label class="switch" style="padding: 23px 0;">
<input type="checkbox" onclick="themeToggle()" id="theme-switcher">
<div>
<span></span>
</div>
请帮助我解决代码问题。
感谢您的帮助。
【问题讨论】:
-
它们不工作的原因是因为 ID 总是唯一的。您应该使用不同的 ID。
-
@neeraj,请来聊天室chat.stackoverflow.com
标签: javascript html css web