美文网首页
jQuery练习-dropdown控件(下拉菜单)的实现

jQuery练习-dropdown控件(下拉菜单)的实现

作者: 讲武德的年轻人 | 来源:发表于2019-12-18 00:03 被阅读0次

    实现效果如下:


    1. 简单实现:鼠标点击就出来,再点击就回去
    <!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">
        <title>Dropdown控件</title>
        <script src="js/jquery-1.12.4.js"></script>
        <style type="text/css">
            body,div,ul,li{
                margin: 0;
                padding: 0;
            }
            body{
                padding:8px;
            }
            .dropdown a{
                text-decoration: none;
                color:#000;
                display: inline-block;
            }
            .dropdown>a{
                border:1px solid #000;
                padding: 6px 12px;
            }
            .dropdown-menu{
                list-style: none;
                width: 200px;
                height: 0;
                opacity: 0;
                border:1px solid #000;
                box-shadow: 5px 5px 6px #000;
            }
            .dropdown-menu a{
                padding: 6px 12px;
                widows: 160px;
            }
            .dropdown-menu li:hover{
                background-color: #ddd;
            }
        </style>
    </head>
    <body>
        <div class="dropdown">
            <a href="#" data-trigger="dropdown">Dropdown</a>
            <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another Action</a></li>
                <li><a href="#">Something else</a></li>
                <li><hr /></li>
                <li><a href="#">Separted link</a></li>
            </ul>
        </div>
        <script type="text/javascript">
            // 1.找到dropdown,绑定单击事件
            $('.dropdown>a[data-trigger=dropdown]').click(function(e){
                e.preventDefault();
            // 2.在单击事件里面:找到a后面的元素ul,控制ul的高度和透明度
                var $a = $(this);
                var $ul = $a.next();
                // 判断当前ul的高度,以便于下一步操作
                if(parseInt($ul.css('height')) >0 ){
                    $ul.css({
                        'height':0,
                        'opacity':0
                    });
                }else{
                    $ul.css({
                        'height':153,
                        'opacity':1
                    })    
                }
            });
            // 
        </script>
    </body>
    </html>
    
    2. 简单实现:鼠标移上去就出来

    添加一下js代码即可:

    $('.dropdown>a[data-trigger=dropdown]').mouseover(function(e){
        var $a = $(this);
        var $ul = $a.next();
        $ul.css({
            'height':153,
            'opacity':1
        })
    }).$('.dropdown>a[data-trigger=dropdown]').mouseout(function(e){
        var $a = $(this);
        var $ul = $a.next();
        $ul.css({
                'height':0,
                'opacity':0
            })
    });  
    

    相关文章

      网友评论

          本文标题:jQuery练习-dropdown控件(下拉菜单)的实现

          本文链接:https://www.haomeiwen.com/subject/xjtynctx.html