博主信息
博文 59
粉丝 6
评论 0
访问量 67490
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实现导航下拉菜单及鼠标移入移出事件-web前端第3章6.12
希望
原创
1086人浏览过

1.编写导航,下拉菜单等style样式


  • 导航:主菜单,子菜单,颜色,字体,大小,列表,链接,边距等,如下图:

1


  • 对应代码如下:
    <!DOCTYPE html><html lang="en">
    <head><mate charset="UTF-8" />
    <mate name="viewport" cantent="width=device-width ,initial-scale=1.0" /><title>php中文网</title>
    <style>*{
    margin: 0;padding: 0;
    box-sizing: border-box;}
    a{color: #bbb;
    text-decoration: none;}
    #nav{background-color: black;
    height: 50px;line-height: 50px;
    }li{
    list-style: none;margin: 0 10px;
    float: left;}
    #nav > li > a:hover{color: white;
    }#nav >li {
    position: relative;}
    #nav > li > ul{position: absolute;
    top: 50px;width: 180px;
    border: 1px solid #aaa;border-top: none;
    }#nav > li > ul > li a {
    display: inline-block;height: 50px;
    color: #444;}
    ul.sub li:hover {backgruond-color: #eee;
    }#nav > li > ul {
    display: none;}
    </style></head>
    <body> <ul id="nav">
    <li><a href="">首页</a></li> <li><a href="">视频教程</a></li>
    <li> <a href="">资源下载</a>
    <ul> <li><a href="">PHP工具</a></li>
    <li><a href="">在线手册</a></li> <li><a href="">学习课件</a></li>
    <li><a href="">网站源码</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="">php教程</a></li>
    <li><a href="">php框架</a></li> </ul>
    </li> </ul>
    </body></html>

2.编写导航,下拉菜单等javascript样式

  • 先要获取所有主菜单,另外要判断主菜单下面有没有子菜单,如果有,鼠标移入主菜单时,那么就显示子所有菜单,鼠标移出时,关掉子菜单。

2

  • 运用事件监听,事件委托,(捕获:从外向内、冒泡:从内向外)代码如下:

<script>const navs = document.querySelectorAll(“#nav > li”);
navs.forEach(function (nav) {nav.addEventListener(“mouseover”, showSubMenu);
nav.addEventListener("mouseout", closeSubMenu);});
function showSubMenu(ev) {if (ev.target.nextElementSibling !== null) {
ev.target.nextElementSibling.style.display = "block";}
}function closeSubMenu(ev) {
if (ev.target.nodeName === "A" && ev.target.nextElementSibling !== null) {ev.target.nextElementSibling.style.display = “none”;
}}</script>

批改老师: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+教程免费学