【问题标题】:Collapsable drop down menu by default when switching page切换页面时默认可折叠下拉菜单
【发布时间】:2013-12-18 18:23:07
【问题描述】:

我正在尝试解决一个小问题,即我的下拉菜单在切换到另一个页面时默认情况下不会折叠,它的行为就像它是打开并在我按下切换按钮时关闭。有什么简单的方法可以解决这个问题吗?我没有找到其他问题来帮助解决我的情况。

HTML

<label id="menulabel"></label>

            <nav id="navbar">
                    <ul id="Mainnav">

                            <li class="hem">
                                <a href="index.html">
                                    <p>Hem<p>
                                </a>
                            </li>



                            <li id="portfolio">
                                <a href="#">
                                Portfolio ˅
                                </a>

                                <ul id="Subnav">

                                    <li>
                                    <a href="illustrator.html">
                                        Illustrator
                                    </a>
                                    </li>

                                    <li>
                                    <a href="photoshop.html">
                                        Photoshop
                                    </a>
                                    </li>

                                    <li>
                                    <a href="illustrator.html">
                                        InDesign
                                    </a>
                                    </li>

                                </ul>   

                            </li>

CSS

#menulabel {
    float:right;
    display: block;
    width: 44px;
    height: 44px;
    cursor: pointer;
    background: url(../img/icon/Menu.png) no-repeat center center;
}
    ul#Mainnav {
        margin-left:0;
        background:#000000;
        clear:left;
    }

    ul#Mainnav > li {
        float:none;
        width:auto;
        text-align: center;
        display:block;
        margin: 0;
        padding: 0;
    }

    a {
        color:white;
        font-weight:bold;
    }

    ul#Mainnav > li:hover {
        background: rgba(65, 177, 255, 1);

    }

    #Subnav  {
        display:none;
    }

    #Subnav.active  {
        display:block;
    }

JQUERY

$("#menulabel").click(function() {
    $("#navbar").toggleClass("active").stop(true, true).slideToggle(300);

});

【问题讨论】:

    标签: jquery html css drop-down-menu


    【解决方案1】:

    尝试将您的 CSS 更改为:

    ul#Subnav {display:none !important;}
    

    看起来早期的 display:block 覆盖了 display:none 你在那里。当然,这可能意味着您还必须将 !important 添加到 .active 规则中。或者,尝试摆脱 ul#Mainnav > li 上的 display:block。

    【讨论】:

    • 当我使用 !important 代码文本时,我得到控制台的回复''event.returnValue 已弃用。请改用标准 event.preventDefault()。 ''
    • 我看不出这与 CSS 更改有什么关系。无论如何,这只是一个警告,并且似乎是最近引入的(并且还针对新的 jquery 版本进行了修复):stackoverflow.com/questions/20045162/… 更重要的是,修复工作了吗? :)
    猜你喜欢
    • 2021-06-08
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2011-06-05
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多