Blogger Information
Blog 39
fans 0
comment 0
visits 34003
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
二级菜单--2019/07/19
LISTEN的博客
Original
669 people have browsed it

1、css编写:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二级菜单--css</title>
    <style>
        ul,li{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        a{
            text-decoration: none;
            color: #999;
        }
        a:hover{
            color: red;
        }

        .nav{
            width: 700px;
            height: 40px;
            background-color: #E3E4E5;
        }

        .main-menu{
            margin-left: 200px;
            border-top: 1px solid #E3E4E5;
        }
        
        .main-menu li{
            float: left;
            line-height: 40px;
            text-align: center;
            padding: 0 15px;

            position: relative;
        }

        ul li:hover{
            background-color: #EFEFEF;
        }

        .sub-menu{
            width: 260px;
            background-color: #EFEFEF;
            border-bottom: 1px solid #E3E4E5;
            border-left: 1px solid #E3E4E5;
            border-right: 1px solid #E3E4E5;

            /*子菜单绝对定位*/
            position: absolute;
            top:40px;
            left: 0;

            /*默认不显示*/
            display: none;
        }

        .main-menu li:hover .sub-menu{
            display: block;
        }

    </style>
</head>
<body>

<div class="nav">
    <ul class="main-menu">
        <li><a href="">我的订单</a></li>
        <li><a href="">我的京东</a>
            <ul class="sub-menu">
                <li>
                    <ul>
                        <li><a href="">待处理订单</a></li>
                        <li><a href="">降价商品</a></li>
                    </ul>
                </li>
                <li>
                    <ul>
                        <li><a href="">我的问答</a></li>
                        <li><a href="">我的关注</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li><a href="">企业采购</a>
            <ul class="sub-menu">
                <li>
                    <ul>
                        <li><a href="">企业购</a></li>
                        <li><a href="">工业品</a></li>
                    </ul>
                </li>
                <li>
                    <ul>
                        <li><a href="">商用场景馆</a></li>
                        <li><a href="">礼品卡</a></li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</div>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


2、JavaScript编写

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二级菜单--JavaScript</title>

    <style>
        ul,li {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        a {
            text-decoration: none;
            color: #999;
        }

        a:hover {
            color: red;
        }


        .nav {
            width: 700px;
            height: 40px;
            background-color: #E3E4E5;
        }

        .main-menu {
            margin-left: 200px;
        }


        .main-menu li {
            float: left;
            line-height: 40px;
            text-align: center;
            padding: 0 15px;

            /*定位父级*/
            position: relative;
        }

        ul li:hover {
            background-color: #EFEFEF;
        }

        .sub-menu {
            width: 260px;
            background-color: #EFEFEF;

            /*子菜单绝对定位*/
            position: absolute;
            top: 40px;
            left: 0;

            /*默认不显示*/
            display: none;
        }

        /*.main-menu li:hover .sub-menu {*/
        /*    display: block;*/

        /*}*/

        .active {
            display: block;
        }
    </style>

</head>
<body>

<div class="nav">
    <ul class="main-menu">
        <li><a href="">我的订单</a></li>
        <li>
            <a href="">我的京东</a>
            <ul class="sub-menu">
                <li>
                    <ul>
                        <li><a href="">待处理订单</a></li>
                        <li><a href="">降价商品</a></li>
                    </ul>
                </li>
                <li>
                    <ul>
                        <li><a href="">我的问答</a></li>
                        <li><a href="">我的关注</a></li>
                    </ul>
                </li>

            </ul>
        </li>
        <li><a href="">企业采购</a>
            <ul class="sub-menu">
                <li>
                    <ul>
                        <li><a href="">企业购</a></li>
                        <li><a href="">工业品</a></li>
                    </ul>
                <li>
                    <ul>
                        <li><a href="">商用场景馆</a></li>
                        <li><a href="">礼品卡</a></li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</div>

<script>
    // 将css中原有的鼠标hover事件删除或注释掉,改用JS脚本实现
    // 先在css中添加一个自定义的类样式: .active {display: block} 备用

    // 1. 获取主菜单
    var mainMenu = document.getElementsByClassName('main-menu').item(0);
    // 2. 获取主菜单所有菜单项并转为数组
    var menus = Array.from(mainMenu.children);
   // console.log( menus);
    // 3. 为每一个主菜单添加鼠标移入与移出事件
    menus.forEach(function (menu) {
        // 鼠标移入显示二级菜单,移出则隐藏二级菜单
        menu.addEventListener('mouseover', show, false);
        menu.addEventListener('mouseout', show, false);
    });
    function show(ev) {
        // 二菜菜单是当前主菜单项的最后一个子元素,将'active'动态添加到它上面即可
       // console.log( ev.target);
        ev.currentTarget.lastElementChild.classList.toggle('active');
    }
</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post