【问题标题】:Dropdown menu overflow issue: Mouseenter and Mouseleave + slideDown and slideUp下拉菜单溢出问题:Mouseenter 和 Mouseleave + slideDown 和 slideUp
【发布时间】:2013-05-28 19:36:38
【问题描述】:

我有这个带有子菜单的简单下拉菜单。 问题是,当我将菜单项悬停以显示其子菜单(使用 slideDown)时,它仅在动画/效果运行时显示部分菜单(溢出问题) - 动画完成后,才显示整个菜单

查看我的fiddle 了解我的意思:

HTML:

<ul id="main">
    <li><a>Item1</a>
        <ul class="sub">
            <li>subItem1</li>
            <li>subItem2</li>
            <li>subItem3</li>
        </ul>
    </li>
    <li><a>Item2</a>
        <ul class="sub">
            <li>subItem4</li>
            <li>subItem5</li>
            <li>subItem6</li>
        </ul>    
    </li>
    <li><a>Item3</a></li>
    <li><a>Item4</a></li>
</ul>

CSS:

ul{
    list-style: none;
    position: relative;
    z-index: 99;
}
ul#main li{
    float: left;
    position: relative;
    width: 50px;
    overflow: visible;
}
ul#main li a{
    display: block;
    padding: 0px 10px 10px 10px;
}
ul.sub{
    position: relative; 
    top: 100%; 
    right: 30%;
    display: none;
    z-index: 999;
}

ul.sub li{
    float: none;    
}

JS:

$('ul#main li').mouseenter(function(){
    $(this).children('ul.sub').slideDown(300);
});
$('ul#main li').mouseleave(function(){
    $(this).children('ul.sub').slideUp(300);
});

【问题讨论】:

    标签: jquery css


    【解决方案1】:

    只需将宽度添加到ul.sub 看这个小提琴 - http://jsfiddle.net/im4aLL/GM9Lm/46/

    【讨论】:

    • 谢谢,但是看看当你将宽度更改为 100px 时会发生什么......为什么它会被子列表项浮动? - jsfiddle.net/GM9Lm/58
    • 是的,那么您可能需要在 ul.sub li 之前添加 ul#main,因为 float none 不会像之前使用 ID 定义的那样工作。请看看这个 - jsfiddle.net/im4aLL/GM9Lm/60
    • 哦,是的...我的 CSS 礼仪在哪里...层叠... id 享有比阶级更多的特权...感谢您的帮助,感谢
    【解决方案2】:

    为您的ul.sub 添加宽度:

    ul.sub{
        position: relative; 
        top: 100%; 
        right: 30%;
        display: none;
        z-index: 999;
        width: 50px;
    }
    

    要解决浮动项目的问题,还请添加:

    ul.sub li{
        clear: both;
    }
    

    【讨论】:

    • 谢谢,但是看看当你将宽度更改为 100px 时会发生什么......为什么它会被子列表项浮动? - jsfiddle.net/GM9Lm/58
    • 我改进了我的答案来解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多