javascript - 如何在两个 CSS 文档之间切换
问题描述
我正在尝试在我的网页上使用深色主题和浅色主题,但我找不到仅使用一个按钮来切换它们的方法(因此第一次单击按钮会打开深色主题,第二次将其关闭) . 我希望能够在不使用第三方 JavaScript 库的情况下做到这一点。我找到了一种使用<option>
元素的方法,但这不是我想要的“切换按钮”:
<button onclick=getTheme() id=themeToggle>Click to use this theme.</button>
<select id="select">
<option>Dark Theme</option>
<option>Revert To Original</option>
</select>
和
function getTheme () {
function changeTheme (Theme) {
document.getElementById('style').setAttribute('href', Theme);
}
var index = document.getElementById("select").selectedIndex;
switch (index) {
case 0:
changeTheme('css/dark.css');
break;
case 1: changeTheme('css/main.css');
}
}
谢谢你的帮助!
解决方案
我知道这看起来有点业余,但你可以做这样的事情,
<button onclick=getTheme() id=themeToggle>Click to use this theme.</button>
<script>
var click = 0;
function getTheme()
{
click++;
if(click%2 == 0)
changeTheme('css/dark.css');
else
changeTheme('css/main.css');
}
</script>
并相应地更改按钮上的文本。让我知道它是否有效。
推荐阅读
- github - 如何基于多个工作流触发 GitHub Action 工作流
- sql-server - 使用 pivot 子句时用 0 替换 NULL
- html - 阻止 Blazor WebAssembly 在按 Enter 时提交表单
- c++ - 表示动态类成员变量类型的最佳方法?
- sql - 使用 R DBI 包获取 SQL 表的完整“路径”
- python - 如果文件夹不存在,则引发异常 pathlib python
- html - Placing an Image inside another png/svg file
- python-3.x - Open3D 点云的 Draco 压缩
- c# - 在 WPF 中获取 Windows 10 文本缩放值
- flutter - 我在颤振应用程序中显示来自 API 的数据时遇到问题