javascript实现侧面下拉菜单,多个菜单项在一栏
时间: 2023-12-07 11:04:02 浏览: 115
下面是一个简单的JavaScript实现侧面下拉菜单的示例代码,多个菜单项在一栏:
HTML代码:
```
<div class="menu">
<button class="menu-toggle">菜单</button>
<ul class="menu-items">
<li><a href="#">菜单项1</a></li>
<li><a href="#">菜单项2</a></li>
<li><a href="#">菜单项3</a></li>
</ul>
</div>
```
CSS代码:
```
.menu {
position: relative;
width: 200px;
}
.menu-toggle {
display: block;
width: 100%;
padding: 10px;
background-color: #eee;
border: none;
text-align: left;
cursor: pointer;
}
.menu-items {
position: absolute;
top: 0;
left: 100%;
z-index: 1;
display: none;
background-color: #fff;
border: 1px solid #999;
list-style: none;
margin: 0;
padding: 0;
}
.menu-items li {
margin: 0;
padding: 0;
}
.menu-items li a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
.menu-items li a:hover {
background-color: #f5f5f5;
}
```
JavaScript代码:
```
var menuToggle = document.querySelector('.menu-toggle');
var menuItems = document.querySelector('.menu-items');
menuToggle.addEventListener('click', function() {
if (menuItems.style.display === 'block') {
menuItems.style.display = 'none';
} else {
menuItems.style.display = 'block';
}
});
document.addEventListener('click', function(event) {
if (!menuToggle.contains(event.target) && !menuItems.contains(event.target)) {
menuItems.style.display = 'none';
}
});
```
以上代码实现了一个简单的侧面下拉菜单效果,点击菜单按钮可以展开或者隐藏菜单项,点击菜单以外的区域也可以隐藏菜单项。您可以根据自己的需求进行修改和优化。
阅读全文