【发布时间】:2022-09-23 16:45:34
【问题描述】:
嗨,我已经创建了一个可折叠的侧边栏,扩展动画效果很好我的意思是,当您展开侧边栏时,它会顺利进行,但是当我折叠侧边栏时,问题就来了,就像第一个深蓝色 V 字形出现并粘在左侧一样然后侧边栏突然崩溃了。 那么谁能告诉我为什么会这样?以及如何更正它使侧边栏和图标同时出现。
高度赞赏帮助!
let expandIcon = document.querySelector(\'.epnd-clpse-icon\')
expandIcon.addEventListener(\'click\', function() {
$(\'.sidebar-container\').toggleClass(\'sidebar-container-clpse\')
$(\'.epnd-clpse-icon\').toggleClass(\'epnd-clpse-icon-trn\')
console.log(\"I am clicked\")
})
.sidebar-container {
background: #ccc;
}
.epnd-clpse-icon {
background: white;
color: white;
}
a {
text-decoration: none;
}
.sidebar-icon i {
color: #06d6a0;
width: 30px;
}
ul {
padding-left: 0;
}
.sidebar-container {
width: 100%;
max-width: 15%;
min-width: 250px;
transition: all 0.5s linear;
position: relative;
border-left: 20px solid var(--primary-light);
overflow-x: hidden;
}
.sidebar-container-clpse {
min-width: 80px !important;
width: 80px !important;
overflow-x: hidden;
transition: all 0.5s linear;
}
.epnd-clpse-icon {
position: absolute;
/* bottom: 100px;
left: 10px; */
top: 50%;
right: -10px;
transition: all 0.5s linear;
cursor: pointer;
background-color: #001846;
padding: 0.8rem;
border-radius: 10px;
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
}
.epnd-clpse-icon-trn {
/* transform: rotateY(180deg); */
transition: all 0.5s linear;
left: 0px;
}
.sidebar .nav-link {
display: flex !important;
padding: 0.6rem 1rem;
align-items: center;
}
.sidebar ul li {
position: relative;
width: 100%;
list-style: none;
}
<script src=\"https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.2.1/js/bootstrap.min.js\"></script>
<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js\"></script>
<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css\" integrity=\"sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"
/>
<div class=\"sidebar-container bg-primary-ex-lgt\">
<div class=\"sidebar min-100-vh py-5 d-flex flex-column justify-content-between\">
<ul class=\"dash-links-icon\">
<div class=\"dash-res-close-icon px-2 mb-5\">
<i class=\"fa-solid fa-chevron-right\"></i>
</div>
<li class=\"links-icon my-2 <?php if($page==\'home\'){echo \'sdbr-active\';}?>\">
<a class=\"nav-link\" href=\"user-dashboard.php\">
<span class=\"sidebar-icon\">
<i class=\"fa-solid fa-house\"></i>
</span>
<span class=\"sidebar-text\">Dashboard</span>
</a>
</li>
<li class=\"links-icon my-2 <?php if($page==\'quiz\'){echo \'sdbr-active\';}?>\">
<a class=\"nav-link\" href=\"quiz.php\">
<span class=\"sidebar-icon\">
<i class=\"fa-solid fa-lightbulb\"></i>
</span>
<span class=\"sidebar-text\">Quiz</span>
</a>
</li>
<li class=\"links-icon my-2\">
<a class=\"nav-link\" href=\"#\">
<span class=\"sidebar-icon\">
<i class=\"fa-solid fa-book\"></i>
</span>
<span class=\"sidebar-text\">Blog</span>
</a>
</li>
</ul>
<div class=\"epnd-clpse-icon\">
<i class=\"fa-solid fa-chevron-right\"></i>
</div>
</div>
</div>
-
您的 HTML 无效 -
DIV是不是UL(或其他列表类型)中的有效子元素,位于您拥有它的位置
标签: javascript html jquery css