怎么给侧边菜单栏收缩添加动画,收的时候菜单栏的内容隐藏,完整代码
时间: 2024-03-21 08:43:26 浏览: 16
以下是一个使用jQuery实现侧边菜单栏收缩动画的完整代码示例:
HTML部分:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>侧边菜单栏收缩动画示例</title>
<style>
.sidebar {
width: 200px;
height: 100%;
background-color: #eee;
position: fixed;
top: 0;
left: 0;
padding: 10px;
transition: width 0.3s ease-in-out; /* 初始设置宽度变化有动画效果 */
}
.sidebar.collapsed {
width: 50px; /* 收缩后的宽度 */
}
.sidebar ul {
list-style: none;
padding: 0;
margin: 0;
}
.sidebar li {
padding: 5px;
}
.sidebar button {
display: block;
margin-top: 10px;
}
</style>
</head>
<body>
<div class="sidebar">
<ul>
<li>菜单项1</li>
<li>菜单项2</li>
<li>菜单项3</li>
</ul>
<button class="toggle-btn">收缩菜单</button>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function() {
$('.toggle-btn').click(function() {
$('.sidebar').toggleClass('collapsed'); // 切换收缩状态
if ($('.sidebar').hasClass('collapsed')) {
$('.sidebar ul').slideUp(); // 收缩菜单
} else {
$('.sidebar ul').slideDown(); // 展开菜单
}
});
});
</script>
</body>
</html>
```
在这个示例中,首先在HTML头部引入了jQuery库文件,然后在BODY部分定义了一个侧边菜单栏,包括菜单项和一个收缩/展开的按钮。在CSS部分,使用`transition`属性定义了初始时宽度变化有动画效果,同时定义了收缩后的宽度。在JavaScript部分,使用jQuery的`toggleClass()`方法切换收缩状态,并使用`slideUp()`和`slideDown()`方法实现收缩/展开动画效果。