javascript - 菜单 : On hover toggle div slide from top

标签 javascript jquery html css

我正在制作一个下拉菜单,该菜单在悬停 .account-nav-show 时打开。我已经完成了向下滑动功能,但是当您从 .account-nav-show 中删除箭头时,它不会再向上滑动。另外,我要做的是让它保持打开状态,直到您将箭头向下移动到实际的#account-nav 中。有什么想法吗?

此外,.account-nav-show 所在的 div 有一个 :hover,因此当您悬停 .account-nav-show 时它会改变颜色。当您将箭头向下滑动到#account-nav 时,是否可以将其保持在 :hover?

      <script type="text/javascript">

$(document).ready(function(){

        $("#account-nav").hide();
        $(".account-nav-show").show();

    $('.account-nav-show').hover(function(){
    $("#account-nav").slideDown(400);
    });

});

</script>
<a class="account-nav-show">Account</a> 
<div id="account-nav">
<a href="/account">Account</a><br>
{{ 'Log out' | customer_logout_link }} 
</div>

最佳答案

悬停绑定(bind)后添加:

$('.account-nav-show').on('mouseleave', function(){
    $("#account-nav").slideUp(400);
});

这是您需要的最终代码:

<script type="text/javascript">
    $(document).ready(function(){
        $("#account-nav").hide();
        $(".account-nav-show").show();

        $('.account').hover(function(){
            $("#account-nav").slideDown(400);
        });

        $('.account').on('mouseleave', function(){
            $("#account-nav").slideUp(400);
        });
    });
</script>

<div class="account">
    <a href="#" class="account-nav-show">Account</a> 
    <div id="account-nav">
        <a href="/account">Account</a><br>
        {{ 'Log out' | customer_logout_link }} 
    </div>
</div>

有 JSFiddle 示例:http://jsfiddle.net/odorcxeu/

关于javascript - 菜单 : On hover toggle div slide from top,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26314480/

相关文章:

javascript - 在 HTML 中使用 JavaScript 复选框值

javascript - 拉斐尔的锥形线

javascript - jQuery 显示/隐藏带有复选框的特定 div

javascript - 使用 jquery 附加的样式元素

javascript - div中的自动滚动文本

javascript - Highcharts:当 useHTML 设置为 true 时,将点击事件附加到 dataLabel

javascript - 如何设置从数据表中的 Ajax 响应选中的复选框?

javascript - CSS:强制视频显示全高并以纵向手持设备为中心

javascript - 带有不在引号中的 Id 的 DOM 元素,在 js 文件中使用,就好像它是一个对象

HTML 表格隐藏 <td> 单元格