引导折叠不折叠

Posted

技术标签:

【中文标题】引导折叠不折叠【英文标题】:Bootstrap Collapse not Collapsing 【发布时间】:2014-05-22 06:19:39 【问题描述】:

我正在尝试使用 Bootstrap 创建一个可折叠组件。我的代码是这样的

<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>

<div class="panel-group" id="accordion">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
      Collapsible Group Item #1
    </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit
      </div>
    </div>
  </div>
</div>

单击时“可折叠组项目#1”应该折叠“面板主体”类中的项目,但它没有单击没有效果。我直接从 Bootstrap 文档中复制了这段代码,但它仍然不起作用。谁能弄清楚是什么问题?

【问题讨论】:

【参考方案1】:

需要 jQuery(如果您使用的是 Bootstrap 3 或 4);-)

<html>
<head>
    <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
    <!-- THIS LINE -->
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
</head>
<body>

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                    Collapsible Group Item #1
                </a>
            </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
                Anim pariatur cliche reprehenderit
            </div>
        </div>
    </div>
</div>

</body>
</html>

【讨论】:

知道为什么此功能不适用于ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js 吗?【参考方案2】:

我疯了一个小时……我时隔7年才回复这个问题,因为如果你用的是新的Boostrap 5,属性是data-bs-toggle,data-bs-parent,还有data-bs-target,注意中间的-bs-

【讨论】:

您为我节省了数小时的搜索时间!谢谢你能指定你从哪里得到响应,或者是否有包含该信息的引导文档的更新版本..这些天我使用引导 5 很多【参考方案3】:

bootstrap.js 使用的是 jquery 库,所以你需要在 bootstrap js 之前添加 jquery 库。

所以请添加jquery库,如

注意:请保持js文件的顺序。 html页面使用从上到下的方式进行编译

<head>
    <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
</head>

【讨论】:

【参考方案4】:

添加 jQuery 并确保只有一个 jQuery 链接导致多个链接不起作用...

【讨论】:

【参考方案5】:

你需要 jQuery 看 bootstrap 的basic template

【讨论】:

【参考方案6】:

如果使用 Bootstrap 4.5 折叠组件,请在 HTML 标签正文中使用这两个链接

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script> 

【讨论】:

【参考方案7】:

如果您使用的是最新的 Bootstrap 版本。 然后你只需要把这个data-bs-toggle="collapse" data-bs-target="#navbarNav" 替换成这个data-toggle="collapse" data-target="#navbarNav" 并且不需要做更多。这意味着您只需删除-bs-

【讨论】:

remove -bs- 使version 5.1 无法使用手风琴效果进行操作。【参考方案8】:

对我来说(使用 Bootstrap v5.1),解决方案是导入 transitions SCSS 部分 (https://getbootstrap.com/docs/5.1/customize/optimize/)

@import "transitions";

【讨论】:

这个解决方案对我有用。使用 Bootstrap 5.1.3 我需要import transitions from "bootstrap"。我不必在任何地方使用导入的transitions,但我相信它一定已经导入了所需的依赖项。 Here's a working CodeSandbox transitions SCSS 部分包含折叠和展开动画的 CSS 样式。如果没有这些过渡,折叠就没有动画效果,因此浏览器中什么也不会发生。【参考方案9】:

我遇到了这个问题,问题是在 Yii2 框架中没有加载 bootstrap.js。首先检查是否在检查中加载了 jquery,然后检查 bootstrap.js 是否加载?如果您使用任何工具提示,在 bootsrap 之前需要 Popper.js .js。

【讨论】:

【参考方案10】:

确保更改引导 cdn 版本以进行检查。尝试 bootstap4 。避免使用 bootstrap 5,因为它仍处于测试阶段

【讨论】:

【参考方案11】:

另一个很好的原因是 html 格式不正确,因此没有正确关闭,或者您的 id 标签中有句号之类的东西,jquery 会对此大笑。

【讨论】:

【参考方案12】:

也许您的移动视口未设置。 在&lt;head&gt;&lt;/head&gt; 中添加以下元标记以允许菜单在手机上运行。

<meta name=viewport content="width=device-width, initial-scale=1">

【讨论】:

以上是关于引导折叠不折叠的主要内容,如果未能解决你的问题,请参考以下文章

更改引导导航栏折叠断点[重复]

两个不同的引导菜单在同一个按钮上折叠

引导折叠错误:SyntaxError:字符串与预期的模式不匹配

Vue js引导程序在折叠时添加动画

一键打开多个引导折叠面板[重复]

折叠 div 内的引导工具提示位置