单击切换器后,Bootstrap 4 导航未扩展 [重复]

Posted

技术标签:

【中文标题】单击切换器后,Bootstrap 4 导航未扩展 [重复]【英文标题】:Bootstrap 4 nav not expanding after clicking the toggler [duplicate] 【发布时间】:2018-10-21 23:40:36 【问题描述】:

所以,我在 Bootstrap 4 中制作了一个导航栏。但由于某种原因,当我的导航栏折叠(使用较小的屏幕/窗口时)并且我单击应该再次展开它的按钮时,什么也没有发生。导航栏不可见。另外,我将“navbar-toggler-right”类放在按钮上,但由于某种原因它不在右侧。

我的代码:

<html>

<head>
    <meta charset="utf-8">
    <title>Admin</title>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>

    <link
            rel="stylesheet"
            href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>


<body>
<nav class="navbar navbar-light navbar-expand-lg">

    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div id="navbarNavDropdown" class="collapse navbar-collapse" >
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#Pricing">Pricing</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#About">About</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#FAQ">FAQ</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#Blog">Blog</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#Contact">Contact</a>
        </li>
    </ul>
    </div>
</nav>

</body>

</html>

【问题讨论】:

【参考方案1】:

只需将jquery-3.3.1.slim.min.js 放在bootstrap.min.js 之前

<html>

<head>
    <meta charset="utf-8">
    <title>Admin</title>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>

    <link
            rel="stylesheet"
            href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>


<body>
<nav class="navbar navbar-light navbar-expand-lg">
 <div class="container">
<button class="navbar-toggler ml-auto" data-toggle="collapse" data-target="#navbarNavDropdown">
    <span class="navbar-toggler-icon"></span>
</button>

<div id="navbarNavDropdown" class="collapse navbar-collapse" >
<ul class="navbar-nav">
    <li class="nav-item">
        <a class="nav-link" href="#Pricing">Pricing</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="#About">About</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="#FAQ">FAQ</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="#Blog">Blog</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="#Contact">Contact</a>
    </li>
</ul>
</div>
	</div>
</nav>
</body>

</html>

【讨论】:

【参考方案2】:

你需要在引导脚本之前设置jquery

像这样

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>

【讨论】:

以上是关于单击切换器后,Bootstrap 4 导航未扩展 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 导航栏切换器仅在第一次单击时起作用

Bootstrap 4 导航栏切换损坏

Bootstrap 4打开多个导航栏下拉菜单,无需切换

(asp.net) Bootstrap 4 导航栏切换器不工作

引导导航栏折叠未在单击时关闭

Laravel 导航栏切换在 bootstrap 4.4.1 和 jquery 3.3 上不起作用