web前端开发 HTML+CSS+JAVASCRIPT 二级_三级导航菜单(参考案例)

简介: JS 二级、三级导航菜单案例

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注

不废话了 直接上代码:

HTML部分

<div id="menu">
    <ul id="menu_sub">
        <li class="first-list">
            <a herf=''>菜单1</a>
            <ul class="sub1">
                <li class="second-list">
                    <a herf=''>二级菜单1</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单2</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单3</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单4</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li class="first-list">
            <a herf=''>菜单2</a>
            <ul class="sub1">
                <li class="second-list"><a herf=''>二级菜单1</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单2</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单3</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单4</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li class="first-list">
            <a herf=''>菜单3</a>
            <ul class="sub1">
                <li class="second-list"><a herf=''>二级菜单1</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单2</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单3</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单4</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li class="first-list">
            <a herf=''>菜单4</a>
            <ul class="sub1">
                <li class="second-list"><a herf=''>二级菜单1</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单2</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单3</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
                <li class="second-list"><a herf=''>二级菜单4</a>
                    <ul class="sub2">
                        <li><a herf=''>三级菜单1</a></li>
                        <li><a herf=''>三级菜单2</a></li>
                        <li><a herf=''>三级菜单3</a></li>
                        <li><a herf=''>三级菜单4</a></li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</div>
AI 代码解读

CSS部分

 /*清除默认样式*/
        ul,li {
   
   
            padding: 0px;
            margin: 0px;
            list-style: none;
        }
        /*div样式*/
        #menu {
   
   
            border: 2px solid #ccc;
            border-right: none;
            float: left;
            margin: 100px 0 0 300px;
        }

        /*浮动li*/
        #menu ul li {
   
   
            position: relative;
        }

        /*设置a标签的样式*/
        #menu ul li a {
   
   
            width: 120px;
            height: 40px;
            text-align: center;
            line-height: 40px;
            display: block;
            border-right: 2px solid #ccc;
            background: #eee;
            color: #666;
        }

        /*当鼠标移动到 一级菜单的a标签上时*/
        #menu ul li a:hover {
   
   
            cursor: pointer;
            color: #f5576c;
            border-right: 2px solid transparent;
        }


        /*二级菜单*/
        #menu ul li .sub1{
   
   
            position: absolute;
            left: 120px;
            top: -2px;
            border-top: 2px solid #ccc;
            background: #eee;
            display: none;
            /*z-index: 3;*/
        }

        /*设置二级菜单下的a标签样式*/
        #menu ul li .sub1 li a{
   
   
            border-top: 1px dotted #ccc;
            width: 120px;
            text-align: center;
            height:39px;
            color: #666;
        }

        #menu ul li .sub1 li a:hover{
   
   
            color: #8fd3f4;
            border-right: 2px solid #ccc;
        }

        /*设置二级菜单下的第一个li下的a标签样式*/
        #menu ul li .sub1 li:first-child a{
   
   

        }
        /*设置二级菜单下的最后一个li下的a标签样式*/
        #menu ul li .sub1 li:last-child{
   
   
            border-bottom: 2px solid #ccc;
        }

        #menu ul li .sub1 li{
   
   
            position: relative;
        }

        /*显示二级菜单 暂时注销*/
      /*  #menu ul li:hover .sub1{
            display: block;
        }*/

        /*三级菜单*/
        #menu ul li .sub1 li .sub2{
   
   
            /*z-index:5;*/
            position:absolute;
            top: -2px;
            left: 120px;
            display: none;
            border-top: 2px solid #ccc;
        }
        /*显示三级菜单  暂时注销*/
        /*#menu ul li .sub1 li:hover .sub2{
            display: block;
        }*/
        /*把右边框设置回来*/
        #menu ul li .sub1 li .sub2 li a{
   
   
            border-right: 2px solid #ccc;
            height: 39px;
            width: 120px;
        }
        /*文字颜色*/
        #menu ul li .sub1 li .sub2 li a:hover{
   
   
            color: #fee140;
        }
AI 代码解读

javascript代码部分

window.onload=function(){
   
   

            var oUl=document.getElementById('menu_sub');
            var aLi=oUl.getElementsByClassName('first-list');

            for(var i=0;i<aLi.length;i++){
   
   

                aLi[i].index=i;
                aLi[i].onmouseover=function () {
   
   
                    var sub2=aLi[this.index].getElementsByTagName('ul')[0];
                    sub2.style.display='block';

                    var aLisub2=sub2.getElementsByClassName('second-list');
                    for(var j=0;j<aLisub2.length;j++){
   
   
                        aLisub2[j].index=j;
                        aLisub2[j].onmouseover=function () {
   
   
                            var sub3=aLisub2[this.index].getElementsByTagName('ul')[0];
                            sub3.style.display='block';
                        }
                    }
                }

                aLi[i].onmouseout=function () {
   
   
                    var sub2=aLi[this.index].getElementsByTagName('ul')[0];
                    sub2.style.display='none';

                    var aLisub2=sub2.getElementsByClassName('second-list');
                    for(var j=0;j<aLisub2.length;j++){
   
   
                        aLisub2[j].index=j;
                        aLisub2[j].onmouseout=function () {
   
   
                            var sub3=aLisub2[this.index].getElementsByTagName('ul')[0];
                            sub3.style.display='none';
                        }
                    }
                }
            }
        }
AI 代码解读

最后效果图 如下

1.gif

目录
打赏
0
0
0
0
206
分享
相关文章
|
19天前
|
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
37 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
133 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
57 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
2月前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
67 34
|
2月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
95 33
《前端技术基础》第01章 HTML基础【合集】
超文本标记语言(HyperText Markup Language,简称 HTML)是构建网页结构的基础标记语言。它与 CSS、JavaScript 协同,负责搭建网页“骨架”,用标签组织内容,像标题、段落、图片等元素,通过起始与结束标签(部分可单用,如`<img>`)界定层级与布局,将信息有序整合。标签含特定语义,向浏览器传达展示方式,为网页准确呈现及后续美化、交互筑牢根基。
87 25
“弘五四,耀青春”程序创意获奖作品【html+css】
本作品以“青春筑梦,共创未来”为主题,采用动态龙元素展现青春活力与创新精神。页面设计简洁明快,色彩协调,突显年轻人积极向上的风貌。作品内容包括获奖截图、名字《时代扬新帆》及源代码分享。特别说明:禁止用于商业活动,可用于比赛和作业等开源场景。最后,作者表达了对五四精神的致敬与传承,强调了青春活力和创造力的重要性,并感谢评委和支持者。 **获奖感言摘录:** “获得这个奖项,对我们团队来说,既是认可也是激励。我们将继续努力,不断优化产品,为用户带来更好的体验,为社会贡献更多价值。”
37 2
|
3月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
121 24
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
134 7

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等