【问题标题】:Twitter Bootstrap - Open one menu, automatically closes anotherTwitter Bootstrap - 打开一个菜单,自动关闭另一个
【发布时间】:2013-05-19 14:59:24
【问题描述】:

好的,首先,这是我的网站:http://songfreek.com

网站加载后,“用户”菜单打开,其余菜单关闭。现在,当我打开另一个菜单(比如说“Radio DJ”选项卡)时,“User”菜单和“Radio DJ”菜单都会打开。

我想这样做,如果我点击“Radio DJ”菜单,“用户”菜单就会关闭,依此类推。

这是我从“用户”菜单到“电台 DJ”菜单的代码。

                        <!-- USER -->
                        <li class="nav-header">
                            <a href="#" data-toggle="collapse" data-target="#userMenu">
                                <font color="#333333">User</font> <i class="icon-angle-down"></i>
                            </a>
                            <ul style="list-style: none;" class="collapse in" id="userMenu">
                                <li class="active"><a href="#"><i class="icon-home"></i> Home</a></li>
                                <li><a href="#"><i class="icon-envelope-alt"></i> Messages <span class="badge badge-info">4</span></a></li>
                                <li><a href="#"><i class="icon-cogs"></i> Settings</a></li>
                                <li><a href="#"><i class="icon-comment"></i> Shoutbox</a></li>
                                <li><a href="#"><i class="icon-user"></i> Staff List</a></li>
                                <li><a href="#"><i class="icon-flag"></i> My Infractions</a></li>
                                <li><a href="#"><i class="icon-exclamation-sign"></i> Rules &amp; Regulations</a></li>
                                <li><a href="#"><i class="icon-off"></i> Logout</a></li>
                            </ul>
                        </li>

                        <!-- RADIO DJ -->
                        <li class="nav-header">
                            <a href="#" data-toggle="collapse" data-target="#radioDJMenu">
                                <font color="#34CCFF">Radio DJ</font> <i class="icon-angle-down"></i>
                            </a>
                            <ul style="list-style: none;" class="collapse" id="radioDJMenu">
                                <li><a href="#">Information &amp; Stats</a></li>
                                <li><a href="#">DJ Says</a></li>
                                <li><a href="#">Request Line</a></li>
                                <li><a href="#">Timetable</a></li>
                                <li><a href="#">Banned Songs</a></li>
                            </ul>
                        </li>

【问题讨论】:

    标签: jquery twitter-bootstrap twitter drop-down-menu


    【解决方案1】:

    好的,让我们在 songfreek.com 上 3 for 3...

    您可以通过将函数分配给collapse 'show' 事件来关闭任何其他打开的菜单,如下所示:

        $('.collapse').on('show', function (e) {
    
            // hide open menus
            $('.collapse').each(function(){
              if ($(this).hasClass('in')) {
                  $(this).collapse('toggle');
              }
            });
        })
    

    当任何菜单打开时,都会触发“显示”事件。任何其他打开的菜单都将包含 in 类,因此可以使用 collapse('toggle') 关闭它们。

    我在 http://bootply.com/61710 上更新了 Bootply 来证明这一点。

    【讨论】:

    • 我仍然有这个问题。你能以某种方式帮助我吗?我不确定我做错了什么。
    猜你喜欢
    • 2022-01-03
    • 2015-10-07
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2020-08-11
    • 2014-07-21
    • 1970-01-01
    • 2022-10-13
    相关资源
    最近更新 更多