鼠标移入侧边栏一级菜单后,二级菜单显示

就是简简单单的一个小功能,鼠标移入侧边栏的一级菜单后,相对应的二级菜单显示。
效果大概如图:
当鼠标移动到“购物”时,显示右侧“详情3”

CSS:

<style>
    * {
        margin: 0;
        padding: 0;
    }
    .wrap {
        width: 150px;
        position: relative;
        margin: 10px 0 0 10px;
        background-color: #c0c0c0;
    }
    .wrapper {
        list-style: none;
        margin-left: 5px;
        height: 40px;
        line-height: 40px;
        cursor: pointer;
        position: relative;
    }
    .wrapper_a {
        text-decoration: none;
        color: #000000;
    }
    .wrap ul li a {
        display: inline-block;
        width: 100%;
        height: 100%;
    }
    .wrap ul li a:hover {
        color: #ffffff;
    }
    .details_wrap {
        width: 100px;
        height: 40px;
        line-height: 40px;
        background-color: #666666;
        position: absolute;
        left: 100%;
        top: 0;
        padding-left: 5px;
        list-style: none;
        display: none;
    }
    .details_wrap a {
        text-decoration: none;
        color: darkgrey;
    }
    .details_wrap a:hover {
        color: dimgray;
    }
</style>

HTML:

<div class="wrap">
    <ul>
        <li class="wrapper">
            <a href="#" class="wrapper_a">居家</a>
            <ul>
                <li class="details_wrap"><a href="#" class="details">详情1</a></li>
            </ul>
        </li>
        <li class="wrapper">
            <a href="#" class="wrapper_a">生活</a>
            <ul>
                <li class="details_wrap"><a href="#" class="details">详情2</a></li>
            </ul>
        </li>
        <li class="wrapper">
            <a href="#" class="wrapper_a">购物</a>
            <ul>
                <li class="details_wrap"><a href="#" class="details">详情3</a></li>
            </ul>
        </li>
        <li class="wrapper">
            <a href="#" class="wrapper_a">科普</a>
            <ul>
                <li class="details_wrap"><a href="#" class="details">详情4</a></li>
            </ul>
        </li>
    </ul>
</div>

JS:

<script src="../jquery-1.11.0.min.js"></script>
<script>
    $(document).ready(function(){
        方法一:
        $(".wrapper").mouseover(function () {
            $(".details_wrap",this).show();
        }).mouseout(function () {
            $(".details_wrap",this).hide();
        });

        $(".details_wrap").mouseover(function () {
            $(".details_wrap",this).show();
        }).mouseout(function () {
            $(".details_wrap",this).hide();
        })

        方法二:
        $(".wrapper").mouseover(function () {							          $(this).find(".details_wrap").css('display','block');
        }).mouseout(function () {            $(this).find(".details_wrap").css('display','none');
        })
    })
</script>

不知道为啥,方法二的格式有错误,请自行调整。
两只小菜鸟被这个搞了一下午,但依然存在很多疑问。比如,方法一中mouseover前为什么选择wrapper而不能是其他?
请指教啊。

另外,还有没有其他的方法?
不吝赐教啊。

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在移动端的侧边栏设计中,二级菜单的呈现方式需要考虑到用户体验和可用性。以下是一个常见的实现思路和实现过程: 1. 设计思路:在侧边栏的主菜单项下方添加一个下拉箭头,点击后展开该主菜单项的二级菜单。 2. HTML结构:侧边栏可以使用<ul>和<li>标签来创建一个无序列表,每个<li>代表一个主菜单项。在需要添加二级菜单的主菜单项的<li>中,再嵌套一个<ul>,用来创建该主菜单项的二级菜单列表。 3. CSS样式:为侧边栏二级菜单项添加合适的样式,比如设置宽度、背景颜色、字体样式等,使其适应移动端设备的屏幕大小。 4. JavaScript交互:为侧边栏菜单项的点击事件添加事件监听器,在点击时切换二级菜单显示或隐藏状态。可以使用JavaScript的classList属性来添加或移除自定义的CSS类,来控制二级菜单显示或隐藏。 5. 响应式设计:在移动端设备上,侧边栏可能需要通过点击菜单图标或者滑动手势来进行显示或隐藏。可以使用JavaScript监听菜单图标的点击事件,或者监听触摸事件来判断用户的滑动方向和距离,并相应地展开或隐藏侧边栏。 总结起来,通过合适的HTML结构,CSS样式和JavaScript交互,侧边栏二级菜单在移动端可以实现友好的显示。这种设计方式既能方便用户查看和点击菜单项,又能有效利用屏幕空间,提升用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值