阅读量:0
``
javascript,,,,, ul {, list-style-type: none;, margin: 0;, padding: 0;, }, li {, position: relative;, }, li a {, display: block;, text-decoration: none;, background-color: #f1f1f1;, padding: 5px 10px;, }, li a:hover {, background-color: #ddd;, }, .submenu {, display: none;, position: absolute;, top: 100%;, left: 0;, }, .submenu .submenu {, top: 0;, left: 100%;, }, li:hover > .submenu {, display: block;, },,,,,菜单项 1,,子菜单项 1.1,子菜单项 1.2,子菜单项 1.3,,子菜单项 1.3.1,子菜单项 1.3.2,,,,,菜单项 2,菜单项 3,,,,
`,,这段代码使用了嵌套的无序列表(
和
`)来创建三级下拉菜单。通过CSS样式,实现了下拉菜单的基本外观和交互效果。当鼠标悬停在父菜单项上时,子菜单会显示出来。三级下拉菜单的js实现代码-网页特效→导航菜单
HTML结构
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>三级下拉菜单</title> <link rel="stylesheet" href="style.css"> </head> <body> <nav> <ul id="menu"> <li><a href="#">一级菜单1</a> <ul> <li><a href="#">二级菜单1-1</a> <ul> <li><a href="#">三级菜单1-1-1</a></li> <li><a href="#">三级菜单1-1-2</a></li> </ul> </li> <li><a href="#">二级菜单1-2</a> <ul> <li><a href="#">三级菜单1-2-1</a></li> <li><a href="#">三级菜单1-2-2</a></li> </ul> </li> </ul> </li> <li><a href="#">一级菜单2</a> <ul> <li><a href="#">二级菜单2-1</a> <ul> <li><a href="#">三级菜单2-1-1</a></li> <li><a href="#">三级菜单2-1-2</a></li> </ul> </li> <li><a href="#">二级菜单2-2</a> <ul> <li><a href="#">三级菜单2-2-1</a></li> <li><a href="#">三级菜单2-2-2</a></li> </ul> </li> </ul> </li> </ul> </nav> <script src="script.js"></script> </body> </html>
CSS样式(style.css)
body { font-family: Arial, sans-serif; } nav { background-color: #333; } nav ul { list-style: none; padding: 0; margin: 0; } nav li { position: relative; } nav li a { display: block; padding: 0 20px; line-height: 40px; color: #fff; text-decoration: none; } nav li ul { position: absolute; left: 100%; top: 0; display: none; } nav li:hover > ul { display: block; }
三、JavaScript代码(script.js)
document.addEventListener('DOMContentLoaded', function() { var menu = document.getElementById('menu'); var subMenus = menu.getElementsByTagName('ul'); for (var i = 0; i < subMenus.length; i++) { subMenus[i].style.display = 'none'; } });
相关问题与解答
问题1:如何修改鼠标悬停时的背景颜色?
答:可以通过在CSS中添加:hover
伪类选择器来实现,将背景颜色更改为蓝色:
nav li:hover > a { background-color: blue; }
问题2:如何添加过渡动画效果?
答:可以使用CSS的transition
属性为菜单项添加过渡动画效果,为菜单项添加渐隐渐现的动画效果:
nav li > ul { transition: all 0.3s ease; }
以上就是关于“三级下拉菜单的js实现代码-网页特效→导航菜单”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!