批改状态:合格
老师批语:现在学习重点不js上
<ul id="nav"><li><a href="#">首页</a></li><li><a href="#">技术文章</a><ul><li><a href="#">PHP</a></li><li><a href="#">JavaScript</a></li><li><a href="#">Python</a></li><li><a href="#">Linux</a></li></ul></li><li><a href="#">博客</a></li><li><a href="#">资源下载</a><ul><li><a href="#">学习工具</a></li><li><a href="#">开发环境</a></li><li><a href="#">编辑器/IDE</a></li><li><a href="#">国外资源</a></li></ul></li><li><a href="#">行业资讯</a></li></ul>
* { margin: 0; padding: 0; font-size: 14px; font-family: "Microsoft YaHei UI"; }li { list-style: none; }#nav { background: #000; height: 50px; line-height: 50px; }#nav li { float: left; position: relative; }#nav a { color: #ddd; padding: 0 20px; text-decoration: none; }#nav a:hover { color: #FFF; }#nav li ul { display: none; position: absolute; width: 210px; border: 1px solid #ddd; }#nav li ul a { color: #000; }
通过子菜单的样式,理解了绝对定位、相对定位的概念。
const navs = document.querySelectorAll('#nav li');navs.forEach(function (nav) {//为没一个导航菜单li添加事件监听nav.addEventListener('mouseover', showMenu);nav.addEventListener('mouseout', closeMenu);})function showMenu (event) {//这里需要判断相邻标签是否是子菜单if(event.target.nextElementSibling !== null && event.target.nextElementSibling.nodeName == 'UL'){event.target.nextElementSibling.style.display = 'block';}}function closeMenu (event) {if(event.target.nodeName == 'A' && event.target.nextElementSibling !== null){event.target.nextElementSibling.style.display = 'none';}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号