Bootstrap导航栏汉堡菜单可以打开却无法关闭

3
在手机屏幕上,当我点击汉堡包图标一次时,导航栏会正常打开。但是当我尝试关闭它时,却无法关闭,好像被卡住了。我做错了什么?以下是我的html代码:

        <header class="navbar navbar-inverse navbar-fixed-top">
            <div class="container-fluid">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#teams-navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="http://{{base_url}}">My Teams</a>
                </div>
                <nav class="collapse navbar-collapse" id="teams-navbar-collapse">
                    <ul class="nav navbar-nav">
                        {% if user.is_authenticated %}
                        <li>
                            <a href="{% url 'profile_page' user.pk %}">
                                My Profile
                            </a>
                        </li>
                        <li>
                            <a href="{% url 'logout' %}">Logout</a>
                        </li>
                    </ul>
                    {% else %}
                    {% block login_button %}{% endblock %}
                    {% endif %}
                </nav>
            </div>
        </header>
1个回答

1
我认为这实际上是jQuery Toggle的问题。请确保将jquery设置为“collapsed”以进行切换。 Bootstrap的工作方式之一是通过添加/删除类来显示基于css的按钮/ div / html元素。例如,Pretty Select下拉框通过在选择按钮之前或之后添加“open”来工作。因此,当单击时,您可以使用jQuery切换打开它。希望这可以帮助到你。
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#teams-navbar-collapse">

<script type="text/javascript">
$( document ).ready(function() {
    $("button.navbar-toggle").click(function(){
        $("button.navbar-toggle").toggleClass("collapse");
    });
});
</script>

您可以在Google Chrome中右键点击检查元素,然后选择控制台选项卡来尝试。一旦进入控制台,只需粘贴单击函数即可。例如,在.ready(function中将$替换为jQuery。希望这能帮到您。 - ChrisKsag
2
啊哈!我安装了两个jQuery,导致切换发生了两次,搞乱了事情。谢谢你帮我解决问题。 - YPCrumble
很高兴我能帮到你! - ChrisKsag
1
@YPCrumble,你的评论解决了未关闭汉堡菜单的问题。谢谢! - Shaihi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接