html - 单击时更改切换按钮?
问题描述
汉堡菜单图标打开和关闭隐藏的侧边栏,同时我希望在侧边栏打开时图标变为 X。
按钮
<span style="font-size:16px;cursor:pointer" onclick="toggleNav()"><i onclick="myFunction(this)" class="fas fa-bars"></i> </span>
菜单脚本
<script>
function toggleNav() {
var sidenav = document.getElementById("mySidenav"),
main = document.getElementById("main");
sidenav.style.width = sidenav.style.width === "250px" ? '0' : '250px';
wrapper.style.marginLeft = wrapper.style.marginLeft === "250px" ? 'auto' : '250px';
}
</script>
<script>
function myFunction(x) {
x.classList.toggle("fas fa-times");
}
</script>
可能犯了一个明显的错误,但我已经尽可能多地用谷歌搜索,但仍然无法弄清楚。
解决方案
您不能像以前那样切换多个课程
你必须打两个电话
function toggleNav() {
/* var sidenav = document.getElementById("mySidenav"),
main = document.getElementById("main");
sidenav.style.width = sidenav.style.width === "250px" ? '0' : '250px';
wrapper.style.marginLeft = wrapper.style.marginLeft === "250px" ? 'auto' : '250px';*/
}
function myFunction(x) {
x.classList.toggle("fa-bars");
x.classList.toggle("fa-times");
}
i {
height: 20px;
width: 20px;
background-color: red;
display: block;
}
<span style="font-size:16px;cursor:pointer" onclick="toggleNav()"><i onclick="myFunction(this)" class="fas fa-bars"></i> The red square represent your icon</span>
推荐阅读
- ms-word - 使用 gtsummary 和 flextable 在 rmarkdown 中生成表
- websocket - Mosquitto Broker 服务拒绝在 websockets 上启动
- mysql - 在多个条件下连接四个表
- c - 如何使用 C 程序永久存储信息?
- python - Scrapy Parse 回调未定义
- node.js - 在热中更新 MacOS 上的 Node.js 引发异常错误
- javascript - React + Formik - 如何传入新值并将表单设置为脏?
- java - 无法访问我的链表方法,也无法遍历它
- laravel - 当我从 Whatsapp 访问链接时(特别是),我的 Laravel 5.2 会话不会持续存在
- r - 循环遍历列表以提取 R 中的值