写一个二级菜单的前端代码
时间: 2024-03-05 16:49:28 浏览: 15
这里提供一个简单的基于HTML和JavaScript的二级菜单前端代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>二级菜单</title>
<meta charset="utf-8">
<style type="text/css">
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
display: inline-block;
padding: 10px;
background-color: #eee;
}
li:hover {
background-color: #ccc;
cursor: pointer;
}
.sub-menu {
display: none;
position: absolute;
top: 40px;
left: 0;
background-color: #eee;
padding: 10px;
z-index: 1;
}
.sub-menu li {
display: block;
padding: 5px;
background-color: #eee;
}
.sub-menu li:hover {
background-color: #ccc;
cursor: pointer;
}
</style>
</head>
<body>
<ul id="top-menu">
<li>菜单1
<ul class="sub-menu">
<li>子菜单1</li>
<li>子菜单2</li>
<li>子菜单3</li>
</ul>
</li>
<li>菜单2
<ul class="sub-menu">
<li>子菜单4</li>
<li>子菜单5</li>
<li>子菜单6</li>
</ul>
</li>
<li>菜单3
<ul class="sub-menu">
<li>子菜单7</li>
<li>子菜单8</li>
<li>子菜单9</li>
</ul>
</li>
</ul>
<script type="text/javascript">
var topMenu = document.getElementById("top-menu");
var subMenus = topMenu.getElementsByClassName("sub-menu");
for (var i = 0; i < subMenus.length; i++) {
var subMenu = subMenus[i];
var parentLi = subMenu.parentNode;
parentLi.addEventListener("mouseenter", function() {
this.getElementsByClassName("sub-menu")[0].style.display = "block";
});
parentLi.addEventListener("mouseleave", function() {
this.getElementsByClassName("sub-menu")[0].style.display = "none";
});
}
</script>
</body>
</html>
```
该代码实现了一个简单的二级菜单,包含一个顶级菜单和多个子菜单,当用户鼠标移动到顶级菜单上时,会显示对应的子菜单。具体实现方法是通过JavaScript监听鼠标事件来控制子菜单的显示和隐藏。