导航页下拉菜单

2018-08-24 14:52:22 浏览数 (1)

一、效果图

二、相关知识点

Position 属性

1、static :默认值 没有定位 元素出现在正常的流中(忽略top,bottom,left,right或者z-index声明)。

2、fixed :相对于浏览器窗口进行定位。通过left top right 以及 bottom 属性进行规定

3、relative : 相对于自身正常位置进行定位。通过left top right 以及 bottom 属性进行规定

4、absolute : 相对于static定位以外的第一个父元素进行定位。元素的位置通过left top right 以及 bottom 属性进行规定

鼠标指针浮动事件

1、css 定义hover选择器:

代码语言:javascript复制
li:hover>ul{display:block;}

2、JavaScript 定义方法(对象为参数)、事件(调用方法、传入对象)

代码语言:javascript复制
 <li onmousemove="display1(this)" onmouseout="display2(this)"></li>

3、jQuery 定义对象-事件-方法

代码语言:javascript复制
$('li').hover(function(){移入},function(){移除});

三、实现方式

1、javascript

代码语言:javascript复制
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style>
        *{margin:0;padding:0;}
        ul{list-style:none;position:absolute;}
        li{border:solid 1px red;width:100px;line-height:25px;text-align:center;float:left; position:relative;}
        ul>li>ul{top:25px;display:none}
        ul>li>ul>li{border-color:green;}
        ul>li>ul>li>ul{border-color:blue;left:100px;top:0px;display:none;}
        ul>li>ul>li>ul>li{border-color:blue;}
        li:hover>ul{display:block;}

    </style>
</head>
<body>
<ul>
    <li>1.1菜单</li>
    <li onmousemove="display1(this)" onmouseout="display2(this)">1.2菜单
        <ul>
            <li>1.2.1菜单</li>
            <li>1.2.2菜单</li>
            <li onmousemove="display1(this)" onmouseout="display2(this)">1.2.3菜单
                <ul>
                    <li>1.2.3.1菜单</li>
                    <li>1.2.3.2菜单</li>
                    <li>1.2.3.3菜单

                    </li>
                </ul>
            </li>
        </ul>
    </li>
    <li>1.3菜单</li>
    <li>1.4菜单</li>
    <li>1.5菜单</li>
    <li>1.6菜单</li>
</ul>
<script>
    function display1(liInput){
        var nextUl=liInput.getElementsByTagName("ul")[0];
        nextUl.style.display="block";
    }
    function display2(liInput){
        var nextUl=liInput.getElementsByTagName("ul")[0];
        nextUl.style.display="none";
    }
</script>
</body>
</html>

2、jQuery

代码语言:javascript复制
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style>
        *{margin:0;padding:0;}
        ul{list-style:none;position:absolute;}
        li{border:solid 1px red;width:100px;line-height:25px;text-align:center;float:left; position:relative;}
        ul>li>ul{top:25px;display:none;}
        ul>li>ul>li{border-color:green;}
        ul>li>ul>li>ul{border-color:blue;left:100px;top:0px;display:none;}
        ul>li>ul>li>ul>li{border-color:blue;}

    </style>
</head>
<body>
<ul>
    <li>1.1菜单</li>
    <li>1.2菜单
        <ul>
            <li>1.2.1菜单</li>
            <li>1.2.2菜单</li>
            <li>1.2.3菜单
                <ul>
                    <li>1.2.3.1菜单</li>
                    <li>1.2.3.2菜单</li>
                    <li>1.2.3.3菜单

                    </li>
                </ul>
            </li>
        </ul>
    </li>
    <li>1.3菜单</li>
    <li>1.4菜单</li>
    <li>1.5菜单</li>
    <li>1.6菜单</li>
</ul>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $('li').hover(function(){
            $(this).find("ul").eq(0).css('display','block');
        },function(){
            $(this).find("ul").eq(0).css('display','none');
        });
    });
</script>

</body>
</html>

0 人点赞