【发布时间】:2021-08-22 03:35:53
【问题描述】:
我正在尝试使用 onclick 功能让我的侧边导航栏保持打开状态。
JS:
<script>
let btn = document.querySelector("#btn");
let sidenav = document.querySelector(".sidenav");
btn.onclick = function(){
sidenav.className.toggle("active");
}
</script>
除了课程不会保持活动状态外,这是有效的。一旦我取消单击鼠标,切换按钮就会消失,导航栏会恢复为压缩状态。
HTML
<div class="sidenav">
<div class="logo_content">
<div class="logo">
<i class='bx bx-book-bookmark'></i>
<div class="logoName">Company Title</div>
</div>
<i class='bx bx-menu' id="btn"></i>
</div>
这里是加宽导航边框的 CSS
.sidenav{
position: fixed;
top: 0;
left:0;
height: 100%;
width: 78px;
box-shadow: -1px -2px 30px black;
padding: 6px 14px;
border: 4px white solid;
border-radius: 20px;
transition: all 1s ease;
}
.sidenav:active{
width: 240px;
}
【问题讨论】:
-
您是否尝试过
stopPropagation或使用addEventListener而不是将函数分配给onclick?还请为此 sidenav 提供您的 HTML 和 CSS 的最小可复制示例。 -
我正在观看的视频将“sidenav”的类名更改为“sidenav active”,这是该函数应该做的事情
-
这是为 css 设计的。当有
active时,css应该显示在它的位置,否则它会被放在不可见的位置 -
我添加了一些 css 以便您查看
-
您需要使用 onclick 事件处理程序。 \
标签: javascript html css navigation sidebar