鼠标悬浮显示二级菜单

1.布局:

<div class="show">
            <img src="~/images/head_icon.png" />

            <div class="drop" style=" display:none; z-index:80000" id="profileMenu">
                <ul>
                    <li>
                        <a class="pass" style="cursor: pointer"
                           href='#'>
                            <span>修改密码</span>
                        </a>
                    </li>
                    <li>
                        <a class="quit" style="cursor: pointer"
                           href='#'
                           ><span>退出</span></a>
                    </li>
                </ul>
            </div>
        </div>

2.js控制:

function dropMenu(obj) {
        $(obj).each(function () {
            var theSpan = $(this);
            var theMenu = theSpan.find(".drop");
            var tarHeight = theMenu.height();
            theMenu.css({ height: 0, opacity: 0 });


            var t1;


            function expand() {
                clearTimeout(t1);
                //theSpan.find('a').addClass("selected");
                theMenu.stop().show().animate({ height: tarHeight, opacity: 1 }, 200);
            }


            function collapse() {
                clearTimeout(t1);
                t1 = setTimeout(function () {
                   // theSpan.find('a').removeClass("selected");
                    theMenu.stop().animate({ height: 0, opacity: 0 }, 200, function () {
                        $(this).css({ display: "none" });
                    });
                }, 250);
            }


            theSpan.hover(expand, collapse);
            theMenu.hover(expand, collapse);
        });
    }


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用CSS的:hover伪类和CSS3的transition属性来实现鼠标悬浮显示二级菜单,并且悬停时自动滑出的效果。以下是一个例子: HTML代码: ``` <ul class="menu"> <li>一级菜单1 <ul class="submenu"> <li>二级菜单1</li> <li>二级菜单2</li> <li>二级菜单3</li> </ul> </li> <li>一级菜单2 <ul class="submenu"> <li>二级菜单1</li> <li>二级菜单2</li> </ul> </li> <li>一级菜单3</li> </ul> ``` CSS代码: ``` .menu { list-style: none; margin: 0; padding: 0; } .menu li { display: inline-block; position: relative; } .menu li:hover .submenu { opacity: 1; visibility: visible; top: 100%; } .submenu { position: absolute; top: 0; left: 0; opacity: 0; visibility: hidden; background-color: #fff; padding: 10px; transition: all 0.3s ease-in-out; } .submenu li { display: block; } ``` 解释: 首先,我们定义了一个包含一级菜单和二级菜单的HTML列表,并使用了CSS的list-style、margin和padding属性来去掉默认样式和间距。 然后,我们给每个一级菜单项添加了一个position:relative属性,这是因为我们希望二级菜单在一级菜单的下方显示,并且需要相对于一级菜单定位。 接着,我们使用了CSS的:hover伪类来控制二级菜单鼠标悬浮时的样式。当鼠标悬停在一级菜单上时,我们给它的子元素.submenu添加了opacity、visibility和top属性,使它们从不可见到可见,并下滑出来。 最后,我们定义了.submenu的样式,包括position、top、left、opacity、visibility、background-color、padding和transition属性。我们还给每个二级菜单项添加了display:block属性,让它们竖向排列。 这样,当鼠标悬停在一级菜单上时,对应的二级菜单就会自动滑出来了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值