思路
- 在CSS中定义主题相关的变量,如颜色等。
- 在HTML中创建按钮用于触发主题切换。
- 使用JavaScript获取按钮元素,并为其添加点击事件监听器。
- 在点击事件处理函数中,通过操作文档的
styleSheets
或直接修改元素的style
属性来切换CSS变量的值,从而实现主题切换。
关键代码
- CSS部分:
:root {
--primary-color: white;
--background-color: lightgray;
}
.dark-theme {
--primary-color: black;
--background-color: darkgray;
}
body {
color: var(--primary-color);
background-color: var(--background-color);
}
- HTML部分:
<button id="theme-toggle">切换主题</button>
- JavaScript部分:
const themeToggle = document.getElementById('theme-toggle');
themeToggle.addEventListener('click', () => {
document.body.classList.toggle('dark-theme');
});