javascript - 单击按钮时如何在图标之间切换?
问题描述
我想在启用或禁用暗模式时在月亮和太阳之间切换。
现在我有它可以改变一次,但在那之后它仍然像月亮一样。
我该如何解决这个问题?
function darkmode() {
document.body.classList.toggle('dark-mode');
document.getElementById('toggleknop').innerHTML = '<i class="fas fa-moon fa-2x" id="maan" style="color:#737eac;"></i>';
}
<button onclick="darkmode()" id="Knop">
<span id="toggleknop"><i class="fas fa-sun fa-2x" id="zon" style="color:#d8c658;"></i></span>
</button>
解决方案
您可以仅使用 CSS 轻松更改/切换 Drak <=> Light。
仅将“ document.body.classList.toggle('dark-mode');
”代码用于切换。显示图标取决于父类。请在此处查看代码段:
function darkmode() {
document.body.classList.toggle('dark-mode');
}
.dark-mode button {
background: black;
color: white;
}
.dark-mode .sun-icon,
.moon-icon {
display: none;
}
.dark-mode .moon-icon {
display: inline;
}
<button onclick="darkmode()" id="Knop">
click
<span class="sun-icon">
sun <i class="fas fa-sun fa-2x" id="zon" style="color:#d8c658;"></i>
</span>
<span class="moon-icon">
moon <i class="fas fa-moon fa-2x" id="maan" style="color:#737eac;"></i>
</span>
</button>
也许它有助于解决您的问题。
谢谢
推荐阅读
- latex - pdfLaTeX epstopdf 将所有文本转换为单型字体
- python - 无法访问元组的索引。IndexError:列表索引超出范围
- javascript - 在 MODx Evo 中使用 jQuery 提交表单后保持 div 显示
- python - 查找定义 python 函数的位置
- windows - 允许复制到 USB 驱动器,但不允许从中复制
- php - 使用 php 发送 GET 请求并获取状态码 + 网页内容
- c# - Asp.Net Core 授权策略
- r - 在 R 中转换为 .csv 时读取.xlsx 修改内容
- c# - 使用不在开头的 $type 关键字反序列化外部 json 字符串
- nginx - 根据变量的值包含 ansible 模板的内容