【问题标题】:Keeping submenu active after hovering悬停后保持子菜单处于活动状态
【发布时间】:2013-01-10 10:52:54
【问题描述】:

我很好奇如何在链接悬停后保持子菜单处于活动状态?我的意思是,即使您将鼠标移到别处,它也会保持活动状态,因此总是回到那里并悬停不会很烦人。

这里是一个导航菜单的例子:--removed it because it's fixed--

我很确定我必须使用 jQuery 来实现这一点?不过,我对 jQuery 不是很有经验。或者它实际上也可以使用纯 css 和 html 吗?

这是我的导航 CSS 代码:

nav {
    width: 1000px;
    height: 45px;
    margin-bottom: 45px;
    float: left;
    border-radius: 2px;
    line-height: normal;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
    position: relative; }

    nav ul li {
        height: 19px;
        padding: 13px 10px;
        color: #0f41a4;
        float: left;
        text-decoration: none; }

        nav ul li:hover ul { display: block; }


        nav ul li ul:hover { display: block; }

        nav ul li ul {
            width: 999px;
            display: none;
            position: absolute;
            margin-top: 13px;
            background: #F6F6F6;
            background: rgba(250, 250, 250, .5);
            border-bottom-left-radius: 5px;
            border-bottom-right-radius: 5px;
            border: 1px solid #FAFAFA;
            border-bottom: 1px solid #ccc;
            z-index: 9999;
            left: 0px;
            float: left; }

            nav ul li ul li {
                padding: 8px 10px;
                float: left; }

        nav ul li:hover {
            text-decoration: underline;
            background: rgba(0, 0, 0, .03); }

【问题讨论】:

    标签: jquery html css navigation hover


    【解决方案1】:

    如果您只想让子菜单始终处于活动状态,那么为什么要将它们设置为不显示,并在悬停时显示。你需要这里的 javascript/jquery。

    $(".page-item").click(function() {
       $(this).children().find(".children").show();
    });
    

    【讨论】:

    • 这不是我想要达到的,但为什么这不起作用? $(".page_item").mouseover(function() { $(this).children().find("ul.children").addClass("render-hover"); });
    • <script type="text/javascript"> $(document).ready(function() { $(".page_item").mouseover(function() { $(this).children().find("ul.children").addClass("render-hover"); }); }); </script> 我做到了,但它仍然不会在类中添加渲染悬停...
    • 我得到了它的工作,但我重写了一些代码。但是我仍然会批准您的建议,因为您将我引向了正确的方向:)
    • 使用这个代替 addClass 到孩子 ul $(".gradient").find("ul.children").addClass("render-hover");
    猜你喜欢
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多