博主信息
博文 8
粉丝 0
评论 0
访问量 7926
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
导航下拉菜单
多喝水
原创
870人浏览过

一、实现导航菜单

以下代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>下拉菜单</title>
  7. <style>
  8. *{
  9. margin: 0;
  10. padding: 0;
  11. box-sizing: border-box;
  12. }
  13. a{
  14. color: #bbb;
  15. text-decoration: none;
  16. }
  17. #nav{
  18. background-color: black;
  19. height: 50px;
  20. line-height: 50px;
  21. }
  22. li{
  23. list-style: none;
  24. margin: 0 10px;
  25. float: left;
  26. }
  27. #nav>li>a:hover{
  28. color: white;
  29. }
  30. #nav>li{
  31. position: relative;
  32. }
  33. #nav>li>ul{
  34. position: absolute;
  35. top: 50px;
  36. width: 180px;
  37. border: 1px solid #aaa;
  38. border-top: none;
  39. }
  40. #nav>li>ul>li a{
  41. display: inline-block;
  42. height: 50px;
  43. color: #444;
  44. }
  45. ul.sub li:hover{
  46. background-color: #eee;
  47. }
  48. #nav>li>ul{
  49. display:none;
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <ul id="nav">
  55. <li><a href="">首页</a></li>
  56. <li><a href="">视频教程</a></li>
  57. <li>
  58. <a href="">资源下载</a>
  59. <ul>
  60. <li><a href="">PHP工具</a></li>
  61. <li><a href="">在线手册</a></li>
  62. <li><a href="">学习课件</a></li>
  63. <li><a href="">网站源码</a></li>
  64. </li>
  65. </ul>
  66. </li>
  67. <li><a href="">社区问答</a></li>
  68. <li>
  69. <a href="">技术文章</a>
  70. <ul>
  71. <li><a href="">头条</a></li>
  72. <li><a href="">博客</a></li>
  73. <li><a href="">PHP教程</a></li>
  74. <li><a href="">PHP框架</a></li>
  75. </ul>
  76. </li>
  77. </ul>
  78. </body>

二、下拉菜单等javascript样式:

  1. 先要获取所有主菜单,另外要判断主菜单下面有没有子菜单,如果有,鼠标移入主菜单时,那么就显示子所有菜单,鼠标移出时,关掉子菜单。
  2. 运用事件监听,事件委托,(捕获:从外向内、冒泡:从内向外)

    代码如下:

    1. <script>
    2. const navs = document.querySelectorAll("#nav > li");
    3. navs.forEach(function (nav){
    4. nav.addEventListener("mouseover",showSubMenu);
    5. nav.addEventListener("mouseout",closeSubMenu);
    6. });
    7. function showSubMenu(ev){
    8. if (ev.target.nextElementSibling !==null){
    9. ev.target.nextElementSibling.style.display="block";
    10. }
    11. }
    12. function closeSubMenu(ev){
    13. if (ev.target.nodeName==="A" && ev.target.nextElementSibling !==null){
    14. ev.target.nextElementSibling.style.display="none";
    15. }
    16. }
    17. </script>

    三、学习感悟:

    跟着老师抄了一遍代码,Js的代码能理解,但感觉现在还运用不起来,在抄写的过程中也会出现错误,特别是符号,稍微看懂错误代码提示是什么意思,还是要多加学习,多看案例

批改老师:WJWJ

批改状态:合格

老师批语:写的不错,刚开始多写多看!
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学