带有下拉菜单的引导选项卡已损坏

时间:2019-02-22 10:53:20

标签: javascript jquery html twitter-bootstrap

我遵循了Bootstrap官方网站上的教程,并且在此页面上是一个简单的示例,说明如何使用带下拉菜单bootstrap example的标签

它在此页面上有效,但是当我将此代码添加到Codepen或我的项目中时,它不起作用。添加所有引导程序依赖项。但是我注意到一些奇怪的事情,当我使用以前的版本(例如3.4.0)时,它可以正常工作,没有问题,但是在新版本4.3.1中-下拉菜单不会扩展。也许我做错了。

这个示例来自我Codepen页面上的bootstrap官方站点,请点击此链接并给我一些建议。 Codepen example

  <ul class="nav nav-tabs" id="myTab" role="tablist">
    <li class="nav-item">
        <a class="nav-link active" id="home-tab" data-toggle="tab" href="#logs"
           role="tab" aria-controls="logs" aria-selected="true">
            Logs
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" id="profile-tab" data-toggle="tab" href="#scriptMessage"
           role="tab" aria-controls="scriptMessage" aria-selected="false">
            Scripts/Messages
        </a>
    </li>
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu</a>
        <div class="dropdown-menu">
            <a class="dropdown-item" href="#">Submenu 1-1</a>
            <a class="dropdown-item" href="#">Submenu 1-2</a>
            <a class="dropdown-item" href="#">Submenu 1-3</a>
        </div>
    </li>
</ul>

谢谢大家的帮助!。我忘了在我的项目中再添加一个依赖项Popper.js或Bootstrap Bundle js(Popper已经包含在内),但是现在它可以正常工作了。

5 个答案:

答案 0 :(得分:1)

Bootstrap具有自己的JavaScript,用于某些功能:

  1. 转到this link
  2. 复制“完整的JavaScript包”链接
  3. 按如下所示粘贴链接到您的代码笔:Pen Settings screenshot您必须在JQuery之后添加它

该捆绑包已经随附了Bootstrap所需的功能。您只需要添加它和JQuery。

您可以看到每个引导程序组件都需要哪些Js依赖关系,以及有关如何将这些依赖关系添加到项目here

的更多信息

答案 1 :(得分:1)

您的代码可以正常工作,请使用下面的链接,或检查更新的codepen here

<script src="http://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <link href="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
    <script src="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
    <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<script src="http://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link href="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<ul class="nav nav-tabs" id="myTab" role="tablist">
    <li class="nav-item">
        <a class="nav-link active" id="home-tab" data-toggle="tab" href="#logs"
           role="tab" aria-controls="logs" aria-selected="true">
            Logs
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" id="profile-tab" data-toggle="tab" href="#scriptMessage"
           role="tab" aria-controls="scriptMessage" aria-selected="false">
            Scripts/Messages
        </a>
    </li>
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu</a>
        <div class="dropdown-menu">
            <a class="dropdown-item" href="#">Submenu 1-1</a>
            <a class="dropdown-item" href="#">Submenu 1-2</a>
            <a class="dropdown-item" href="#">Submenu 1-3</a>
        </div>
    </li>
</ul>

答案 2 :(得分:1)

在这里查看工作演示,是的,您可以根据此演示中的要求复制css和js。

<!doctype html>
<html lang="en">

  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>

  <body>

    <div class="container">
      <h3>Tabs With Dropdown Menu</h3>
      <ul class="nav nav-tabs">
        <li class="nav-item">
          <a class="nav-link active" href="#">Active</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
          <div class="dropdown-menu">
            <a class="dropdown-item" href="#">Action</a>
            <a class="dropdown-item" href="#">Another action</a>
            <a class="dropdown-item" href="#">Something else here</a>
            <div class="dropdown-divider"></div>
            <a class="dropdown-item" href="#">Separated link</a>
          </div>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>
    </div>
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <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.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </body>

</html>

答案 3 :(得分:1)

某些引导程序组件需要javascript代码才能执行操作。根据您的情况,您需要在关闭body标签之前放入默认的js捆绑包。 https://codepen.io/error-yatish/pen/aXgLKg?editors=1000

供参考使用https://getbootstrap.com/docs/4.3/getting-started/introduction/#js

答案 4 :(得分:1)

您错过了jQuery库。

以及点击下拉菜单

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src=""></script>

</head>
<body>

<div class="container">
  <h3>Tabs With Dropdown Menu</h3>
  <ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
      <div class="dropdown-divider"></div>
      <a class="dropdown-item" href="#">Separated link</a>
    </div>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled" href="#">Disabled</a>
  </li>
</ul>
</div>

</body>
</html>