javascript - 隐藏当前未被选中的菜单

标签 javascript jquery html css

我有一个带标题的菜单。单击标题时,将打开子菜单项。我只想显示最近被点击的菜单。如果单击 heading_practice,并且其他菜单打开,它们将 slideToggle 关闭。我该怎么做?

<div id="pageHeadings">
    <div id="heading_practice">                     
        <a href="#">
           <p>Practice Areas</p>
        </a>
        <div class="menu_practice">
           <p>test</p>
           <p>test2</p>
        </div>
    </div>
    <div id="heading_about">                        
        <a href="#">
           <p>About</p>
        </a>
        <div class="menu_about">
           <p>test</p>
           <p>test2</p>
        </div>
    </div>
 </div>

$("#pageHeadings div[class^=menu]").hide();

$("#pageHeadings div[id^=heading]").click(function () { 
    if(!$(this).find('[class^=menu]').is(":visible")) {
        $(this).find('[class^=menu]').slideToggle("fast");      
    }

    //if element is clicked, hide all other menus
});

Fiddle

最佳答案

您可能想对所有其他元素执行 slideUp。这可以像这样实现:

$("#pageHeadings div[id^=heading]").click(function () {
    var $menu = $(this).find('[class^=menu]');

    if ( ! $menu.is(":visible") ) {
        $menu.slideToggle("fast");      
    }

    $('[class^=menu]').not($menu).slideUp("fast");
});

关于javascript - 隐藏当前未被选中的菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419855/

相关文章:

javascript - 通过ajax调用HomeController中的方法

javascript - 如何将整数数组转换为对象数组?

Javascript弹出窗口脚本

javascript - Array.map 返回 cannot read property map of null

javascript - 如果位于另一个元素下方,则 Jquery 随机动画不应该发生

jquery - 通过 jQuery 附加到 contentEditable div 后设置光标

php - 从表内的文本框中获取值并使用 JQuery 将其存储为变量

php - 在mysql中存储设置

java - 为什么 htmlunit getPage 会因 nosuchmenthod 产生此问题

php - 即使数据存在于数据库中,SQL 也会返回空行