jQuery实现三级菜单

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="js/jquery-3.4.1.min.js"></script>
    <title>三级菜单</title>
    <script>
        // // IE6以下不兼容hover 判断是否是IE6
        // window.onload = function () {
        //     var isIE = !!window.ActiveXObject;
        //     var isIE6 = !isIE && window.XMLHttpRequest;
        //     if (isIE6) {
        //         var lis = document.getElementsByTagName("li");
        //         for (let index = 0; index < lis.length; index++) {
        //             lis[index].onmouseover = function () {

        //                 var u = this.getElementsByTagName("ul")[0];
        //                 if (u != undefined) {
        //                     u.style.display = "block";
        //                 }
        //             };

        //             lis[index].onmouseout = function () {
        //                 var u = this.getElementsByTagName("ul")[0];
        //                 if (u != undefined) {
        //                     u.style.display = "none";
        //                 }
        //             };

        //         }
        //     }
        // }
        $(function () {
            $("li").has("ul").mouseover(function () {
                $(this).children("ul").css("display", "block");
            })
            $("li").has("ul").mouseout(function () {
                $(this).children("ul").css("display", "none");
            })
        });

    </script>
    <style>
        a {
            color: #FFFF99;
            text-decoration: none;
        }

        .top-nav {
            font-size: 16px;
            font-weight: bold;
            list-style: none;
            overflow: auto;
        }

        .top-nav li {
            float: left;
        }

        /* 二级菜单 */
        .top-nav li ul {
            display: none;
            /* 去圆点 */
            list-style: none;
            padding: 0px;
            position: relative;
            /* 为了竖向显示 定义一个宽度 */
            width: 80px;

        }

        /* 鼠标移动到二级菜单时 三级菜单显示 */
        .top-nav li ul li ul {
            display: block;
            top: 0px;
            left: 80px;
            position: absolute;

        }

        .top-nav li a {
            line-height: 20px;
            text-decoration: none;
            background: #DDDDDD;
            color: #666666;
            display: block;
            width: 80px;
            text-align: center;
        }

        .top-nav li a:hover {
            background-color: red;
        }

        /* .top-nav li:hover ul {
            display: block;

        } */

        /* 三级菜单 */
        /* .top-nav li:hover ul li ul {
            display: none;

        } */

        /* 鼠标移动到二级菜单时 三级菜单显示 */
        /* .top-nav li ul li:hover ul {
            display: block;
        } */
    </style>
</head>

<body>
    <div id="top">
        <ul class="top-nav">
            <li><a href="#">首页</a></li>
            <li><a href="#">课程大厅</a></li>
            <li><a href="#">学习中心</a>
                <ul>
                    <li><a href="#">前端课程</a>
                        <ul>
                            <li><a href="#">JavaScript</a></li>
                            <li><a href="#">jQuery</a></li>
                            <li><a href="#">Angular</a></li>
                        </ul>
                    </li>
                    <li><a href="#">后端课程</a></li>
                    <li><a href="#">移动开发</a></li>
                </ul>
            </li>
            <li><a href="#">经典案例</a></li>
            <li><a href="#">关于我们</a></li>
        </ul>
    </div>
</body>

</html>

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 jQuery AJAX 三级下拉菜单的示例: HTML代码: ```html <select id="first-dropdown"> <option value="">请选择</option> </select> <select id="second-dropdown"> <option value="">请选择</option> </select> <select id="third-dropdown"> <option value="">请选择</option> </select> ``` JavaScript代码: ```javascript $(document).ready(function() { $('#first-dropdown').on('change', function() { var firstDropdownValue = $(this).val(); if (firstDropdownValue) { $.ajax({ type: 'GET', url: '/api/second-dropdown/' + firstDropdownValue, success: function(data) { $('#second-dropdown').empty().append('<option value="">请选择</option>'); $.each(data, function(index, element) { $('#second-dropdown').append('<option value="' + element.value + '">' + element.text + '</option>'); }); } }); } else { $('#second-dropdown').empty().append('<option value="">请选择</option>'); $('#third-dropdown').empty().append('<option value="">请选择</option>'); } }); $('#second-dropdown').on('change', function() { var secondDropdownValue = $(this).val(); if (secondDropdownValue) { $.ajax({ type: 'GET', url: '/api/third-dropdown/' + secondDropdownValue, success: function(data) { $('#third-dropdown').empty().append('<option value="">请选择</option>'); $.each(data, function(index, element) { $('#third-dropdown').append('<option value="' + element.value + '">' + element.text + '</option>'); }); } }); } else { $('#third-dropdown').empty().append('<option value="">请选择</option>'); } }); }); ``` 其中,`#first-dropdown`、`#second-dropdown` 和 `#third-dropdown` 分别代表三个下拉菜单,当第一个下拉菜单的值改变时,会向后台发送 AJAX 请求获取第二个下拉菜单的选项,当第二个下拉菜单的值改变时,会向后台发送 AJAX 请求获取第三个下拉菜单的选项。具体的 AJAX 请求 URL 和返回数据格式需要根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值