1-下拉菜单的做法

css部分

<style>
    * {
        padding: 0;
        margin: 0;
    }

    a {
        text-decoration: none;
    }

    ul>li {
        list-style: none;
    }

    .nav>li {
        width: 40px;
        float: left;
    }

    .nav>li>a:hover {
        background-color: blanchedalmond;
    }

    .nav>li ul {
        display: none;
    }

    .nav li ul li a:hover {
        background-color: blanchedalmond;
    }
</style>

html部分

<ul class="nav">
    <li>
        <a href="">微博</a>
        <ul>
            <li><a href="#">私信</a></li>
            <li><a href="#">评论</a></li>
            <li><a href="#">@我</a></li>
        </ul>
    </li>
    <li>
        <a href="">微博</a>
        <ul>
            <li><a href="#">私信</a></li>
            <li><a href="#">评论</a></li>
            <li><a href="#">@我</a></li>
        </ul>
    </li>
    <li>
        <a href="">微博</a>
        <ul>
            <li><a href="#">私信</a></li>
            <li><a href="#">评论</a></li>
            <li><a href="#">@我</a></li>
        </ul>
    </li>
    <li>
        <a href="">微博</a>
        <ul>
            <li><a href="#">私信</a></li>
            <li><a href="#">评论</a></li>
            <li><a href="#">@我</a></li>
        </ul>
    </li>
    <li>
        <a href="">微博</a>
        <ul>
            <li><a href="#">私信</a></li>
            <li><a href="#">评论</a></li>
            <li><a href="#">@我</a></li>
        </ul>
    </li>
</ul>

js部分:方法1:dom实现

// 1.获取元素
const nav=document.querySelector('.nav');
const lis=nav.children;//得到4个li
console.log(lis);
// 2.循环注册事件
for (let i = 0; i < lis.length; i++) {
    lis[i].addEventListener('mouseenter',function() {
        // console.log(lis[i]);//li
        // console.log(lis[i].children[1]); //li ul
        this.children[1].style.display='block';
    })
    lis[i].addEventListener('mouseleave',function() {
        this.children[1].style.display='none';
    })
}

在这里插入图片描述
方法2:jqury实现

// 思路:鼠标经过li,让li的第二个孩子显示出现就行了
$(function () {
    // 鼠标经过li 这个li必须是亲儿子
    $('.nav>li').mouseenter(function () {
        // $(this)  jQuery中的当前元素
        $(this).children('ul').show();
    })
    $('.nav>li').mouseleave(function () {
        $(this).children('ul').hide();
    })
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值