首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bootstrap折叠导航栏在单击子菜单后不会保持折叠状态

基础概念

Bootstrap 折叠导航栏(Collapse Navbar)是一种响应式导航栏组件,它可以在小屏幕设备上折叠成一个按钮,点击按钮后展开导航菜单。折叠导航栏通常使用 Bootstrap 的 Collapse 组件来实现。

相关优势

  1. 响应式设计:自动适应不同屏幕尺寸,提供良好的用户体验。
  2. 易于实现:Bootstrap 提供了丰富的预定义样式和 JavaScript 插件,简化了开发过程。
  3. 灵活性:可以根据需要自定义样式和行为。

类型

Bootstrap 折叠导航栏主要有两种类型:

  1. Navbar 折叠:整个导航栏在小屏幕上折叠成一个按钮。
  2. Dropdown 折叠:导航栏中的某些项可以折叠成下拉菜单。

应用场景

折叠导航栏广泛应用于移动设备和桌面设备的网站和应用程序,特别是在需要节省空间和提高用户体验的场景中。

问题描述

在单击子菜单后,折叠导航栏不会保持折叠状态。

原因分析

这个问题通常是由于 JavaScript 事件处理不当或 Bootstrap 的 Collapse 组件配置不正确导致的。

解决方法

以下是一个示例代码,展示如何正确配置 Bootstrap 折叠导航栏,使其在单击子菜单后保持折叠状态:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap Collapse Navbar</title>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">Brand</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNavDropdown">
      <ul class="navbar-nav">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Dropdown link
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
            <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>
        </li>
      </ul>
    </div>
  </nav>

  <script>
    $(document).ready(function() {
      $('.dropdown-toggle').click(function() {
        $(this).next('.dropdown-menu').slideToggle(300);
      });
    });
  </script>
</body>
</html>

参考链接

Bootstrap 官方文档 - Collapse 组件

通过上述代码,确保在单击子菜单后,折叠导航栏能够正确保持折叠状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Java 进阶篇】深入了解 Bootstrap 表格和菜单

本文中,我们将深入探讨 Bootstrap 中表格和菜单的使用,适合初学者,帮助他们更好地理解和应用这些元素。 什么是 Bootstrap 表格?...什么是 Bootstrap 菜单菜单是网页上的导航元素,用于帮助用户浏览和导航到不同的页面或功能。Bootstrap 提供了多种菜单组件,如导航、下拉菜单和标签页,以满足不同导航需求。... 元素:这是按钮元素,用于切换导航折叠状态。 class="navbar-toggler-icon":这是 Bootstrap 提供的按钮图标,用于切换导航的展开和折叠状态。...这个基本的导航结构包含了网站的标志和几个导航链接。当浏览器窗口缩小到一定尺寸时,导航会自动折叠,以适应小屏幕设备。...navbar-expand-lg、navbar-expand-md:根据屏幕尺寸展开或折叠导航

25730

BootStrap应用开发学习入门1

导航您的应用或网站中作为导航页头的响应式基础组件。...导航移动设备的视图中是折叠的,随着可用视口宽度的增加,导航也会水平展开。 Bootstrap 导航的核心中,导航包括了站点名称和基本的导航定义样式。...导航元素 描述:进行首页导航菜单进行设置,导航菜单与下拉菜单使用相似的语法; 默认情况下,列表项的锚与一些数据属性协同合作来触发带有 .dropdown-menu class的无序列表。...) .navbar-collapse #响应式的导航必须使用Bootstrap 折叠(Collapse)插件,并且折叠的内容必须包裹在其中 .nav # ul 标签 无序列表向导航添加链接 ....,按钮导航上垂直居中 基础示例: <!

44.8K21
  • BootStrap应用开发学习入门1

    导航您的应用或网站中作为导航页头的响应式基础组件。...导航移动设备的视图中是折叠的,随着可用视口宽度的增加,导航也会水平展开。 Bootstrap 导航的核心中,导航包括了站点名称和基本的导航定义样式。...导航元素 描述:进行首页导航菜单进行设置,导航菜单与下拉菜单使用相似的语法; 默认情况下,列表项的锚与一些数据属性协同合作来触发带有 .dropdown-menu class的无序列表。...) .navbar-collapse #响应式的导航必须使用Bootstrap 折叠(Collapse)插件,并且折叠的内容必须包裹在其中 .nav # ul 标签 无序列表向导航添加链接 ....,按钮导航上垂直居中 基础示例: <!

    44.3K30

    Jump Start Bootstrap 第3章

    Navbar(导航条) Navbar是最有趣的Bootstrap组件;但对于新手,不容易掌握;它带来了很多挑战,比如将头部和其余部分保持一致;正确地对齐链接、搜索导航中的下拉菜单会使工作变得更加困难...Bootstrap创建导航条非常简单,它提供了各种选项,可以构建响应性的所有类型的导航,当屏幕大小较小时自动折叠。 我们将循序渐进的用Bootstrap创建一个导航条。...我们还将在”navbar-header”元素中放置一个隐藏的按钮,只导航折叠的小屏幕中可见。...这里有一些按钮可以用的帮助类: btn-block: 按钮跨域整行所有的网格 active:按钮显示成被点击的状态 disabled:按钮不可用,并显示成褪色状态;你要小心使用这个类,因为它将防止输入和按钮元素上单击动作...,但不会禁用对元素的单击操作。

    13.9K20

    Bootstrap实用功能总结

    导航:navbar 导航容器可以包含以下几个常用组成: 1、品牌LOGO(.navbar-brand ) 2、导航菜单(.navbar-nav) 3、导航文本(.navbar-text) 4、... 导航容器可用样式: .navbar 导航基础样式 .navbar-expand-{sm | md | xl | lg} 响应式导航,大屏幕水平铺开,小屏幕垂直堆叠 .flex-top 导航一直顶部....flex-bottom 导航一直顶部 .bg-{primary | secondary | success | info | danger | warning | dark | light} 导航的背景颜色...">这是一句文字 11 五、折叠导航:小屏幕上我们都会折叠导航,通过点击来显示导航选项: 1 菜单三 16 17 18 折叠导航注意事项: 1、定义折叠按钮时除了折叠的属性之外,还必须加上样式

    2.5K30

    jupyter_notebook常用插件介绍

    Table of Contents 这个插件会根据Markdown的标题层次形成一个目录,可以通过点击目录,直接定位到对应代码位置,长代码文件中能起到导航的作用。...开启插件,会在工具多出一个按钮,可通过点击按钮选择是否开启(如上图),官方示例如下 Snippets Menu 向Jupyter笔记本添加可定制的菜单项,以插入代码片段、样板文件和示例。...勾选此插件,会多出一个Snippets的菜单项,菜单里包含多个模块的示例,通过简单的点击就能生成示例代码,可根据自己的需求稍作修改即可运行,减少代码工作量。...在编辑模式下,单击边距中的三角形(codecell的左边缘)或键入代码折叠热键(默认为Alt+F),折叠代码。命令模式下,折叠热键与编解码器的第一行有关。...任何标记标题单元格(即以1-6 #字符开头的单元格)呈现都是可折叠的。 标题的折叠/扩展状态存储单元格元数据中,并在笔记本加载时重新加载。

    1.2K10

    【Java 进阶篇】深入了解 Bootstrap 组件

    激活状态按钮 Bootstrap 还提供了按钮的激活状态,当按钮被点击,可以显示为被激活状态。... 元素:这是按钮元素,用于切换导航折叠状态。 class="navbar-toggler-icon":这是 Bootstrap 提供的按钮图标,用于切换导航的展开和折叠状态。...这个基本的导航结构包含了网站的标志和几个导航链接。当浏览器窗口缩小到一定尺寸时,导航会自动折叠,以适应小屏幕设备。...navbar-expand-lg、navbar-expand-md:根据屏幕尺寸展开或折叠导航。...-- 导航栏内容 --> 这些样式可以根据您的设计需求来选择,以使导航与您的网站或应用程序一致。 下拉菜单 下拉菜单导航中常见的交互元素,它们允许用户访问更多选项。

    20420

    如何使用纯前端控件集 WijmoJS 中的可视化在线设计器

    设计器的主菜单默认为全部折叠,并显示为垂直条形图标。单击页面左上角的WijmoJS徽标以展开菜单。...工具箱”命令打开一个可折叠的WijmoJS前端控件面板,按模块名称(网格,图表,输入,仪表,导航,OLAP)分组。 展开输入组并单击“日历”以添加名为calendar1的新控件。...设计表面现在看起来像这样: 要折叠菜单,请再次单击WijmoJS 徽标,或单击设计图面内部的任何位置(“编辑”工具下方的区域)。...您可以通过单击页面右边缘的箭头来折叠属性/事件侧。 设计表面支持具有顺序布局的多个纯前端控件。...请注意,设计器不会从源视图中保存的HTML恢复状态,只能从设计视图中保存的JSON恢复。 使用图表 现在让我们考虑一个更复杂的例子。

    5.9K20

    Windows快捷键速查

    F3 文件资源管理器中搜索文件或文件夹。 F4 文件资源管理器中显示地址列表。 F5 刷新活动窗口。 F6 循环浏览窗口中或桌面上的屏幕元素。 F10 激活活动应用中的菜单。...向右键 打开右侧的下一个菜单,或打开菜单。 向左键 打开左侧的下一个菜单,或关闭菜单。 Esc 停止或离开当前任务。 PrtScn 捕获整个屏幕的屏幕截图并将其复制到剪贴板。 2....Shift + 右键单击任务按钮 显示应用的窗口菜单。 Shift + 右键单击分组任务按钮 显示组的窗口菜单。 Ctrl + 单击分组任务按钮 循环浏览组的窗口。 3....Windows 徽标键 + Shift + 向下键 垂直方向上还原/最小化活动桌面窗口,而宽度保持不变。...向右键 显示当前选择内容(如果已折叠),或选择第一个文件夹。 向左键 折叠当前选择内容(如果已展开),或选择该文件夹所在的文件夹。 End 显示活动窗口底部。 Home 显示活动窗口顶部。

    4.2K20

    Windows10中的键盘快捷方式

    F4 文件资源管理器中显示地址列表 F5 刷新活动窗口 F6 循环浏览窗口中或桌面上的屏幕元素 F10 激活活动应用中的菜单 Alt + F8 登录屏幕上显示你的密码 Alt + Esc 按项目打开顺序循环浏览...,可将其朝指定方向移动 Ctrl + Shift + 箭头键 当磁贴的焦点放在“开始”菜单上时,将其移到另一个磁贴即可创建一个文件夹 Ctrl + 箭头键 打开“开始”菜单调整其大小 Ctrl + 箭头键...Ctrl + 向下键 输出历史记录中下移一行 Ctrl + Home(历史记录导航) 如果命令行为空,则将视区移动到缓冲区顶部。...按键 操作 Shift + 单击任务按钮 打开应用或快速打开另一个应用实例 Ctrl + Shift + 单击任务按钮 以管理员身份打开应用 Shift + 右键单击任务按钮 显示应用的窗口菜单...Shift + 右键单击分组任务按钮 显示组窗口菜单 Ctrl + 单击分组任务按钮 循环浏览组窗口 本文删改自豆末的WINDOWS中的键盘快捷方式 相关

    4.5K20

    Windows中的键盘快捷方式大全

    + 向右键 查看下一个文件夹 Alt + 向上键 查看上一级文件夹 Alt + 向左键 查看上一个文件夹 Backspace 查看上一个文件夹 向右键 显示当前选项(如果它处于折叠状态),或者选择第一个文件夹...+ 向右键 查看下一个文件夹 Alt + 向上键 查看上一级文件夹 Alt + 向左键 查看上一个文件夹 Backspace 查看上一个文件夹 向右键 显示当前选项(如果它处于折叠状态),或者选择第一个文件夹...+ 单击某个任务按钮 打开某个应用,或快速打开应用的另一个实例 Ctrl + Shift + 单击某个任务按钮 以管理员身份打开应用 Shift + 右键单击某个任务按钮 显示该应用的窗口菜单...+ 右键单击某个任务按钮 显示程序的窗口菜单 Shift + 右键单击某个已分组的任务按钮 显示该组的窗口菜单 Ctrl + 单击某个已分组的任务按钮 循环切换该组的窗口 桌面上“远程桌面连接...向下键 计算历史记录中向下导航 Esc 取消编辑计算历史记录 Enter 编辑重新计算计算历史记录 F3 “科学型”模式下选择“度” F4 “科学型”模式下选择“弧度” F5 “科学型”模式下选择

    5.6K20

    Jump Start Bootstrap 第4章

    扩展功能 想象一个没有任何下拉功能的菜单。有点无聊,对吧?上一章,导航只包含一个简单的链接列表。本节中,我们将使用一些Bootstrap的JavaScript插件帮助扩展我们网站现有组件的功能。...我们将会看到如何添加下拉菜单导航、切换按钮的状态、当点击按钮时漂亮的警告信息会在显示一段时间消失等等功能。...你可以看到,我调用了.myDropdownHandle之后,使用了dropdown()方法。下拉插件的默认状态是关闭的;然而你刷新页面它将切换状态并使菜单可见。...该插件在任何DOM元素中侦听滚动,并根据元素的滚动位置导航中突出显示菜单项。 基本上,它是一个双组件的插件;它由一个导航条和一个内容区域组成。内容区域划分为多个部分,每个部分都有一个惟一的ID。...这些选项卡窗格也应该有惟一的id,因为它们将被引用到导航标签(nav-tabs)的链接中。选项卡窗格的数量应该等于显示导航中的链接数。

    28.3K40

    BootStrap】图片样式、辅助类样式和CSS组件 -附源码

    导航 导航有一个不同,他不是写在container包含层里面了,而是那个div的上面! .navbar:导航的基类,用于元素。....navbar-default:导航默认样式,用于元素。 .container是的元素。导航栏内容都放入其中。 .navbar-header:导航头部样式。....navbar-brand:设置品牌图标样式 .collapse是折叠导航的样式的基类。 .navbar-collapse是折叠导航样式。 .nav是导航的链接基类。....navbar-text:对于导航的普通文本有了行距和颜色,通常用于元素。 .navbar-fixed-top:导航固定在顶部,用于元素。...需要为设置padding-bottom:70px; .navbar-static-top:导航静止顶部,用于元素。会随着滚动条移动而消失。

    2.5K20

    【愚公系列】2023年11月 Winform控件专题 TreeView控件详解

    如果设置为true,则节点在失去焦点时会自动取消选中状态;如果设置为false,则节点仍然保持选中状态,直到其他节点被选中。...HideSelection属性,您可以再次运行应用程序并尝试TreeView控件上选择节点。...即使TreeView控件失去焦点,选择的节点仍会保持其选中状态。...网站导航:TreeView控件可以用于展示网站结构,例如网站导航。通过设置节点的文本和链接属性,用户可以点击节点进入相关页面。数据分类:TreeView控件可以用于展示层级的数据分类,例如商品分类。...导航菜单:TreeView控件可以用于构建导航菜单,例如Winform应用程序的菜单。通过设置节点文本和节点图标,可以快速导航到相应的功能模块。

    72912

    折叠屏上应用设计规范,了解一下?

    例如,大屏设备上,您可使用 Navigation rail (左侧边导航条) 代替 底部导航 (Bottom navigation),两者功能相同,视觉表现方式也类似,但 Navigation rail...因此,每个页面都应足够灵活,而且应当能够尺寸过渡期间保持状态不变,这个时候规范布局就能发挥重要作用。针对每个页面,您可以思考一下,当屏幕尺寸变大时,可以添加什么内容。...我们有许多可选方案,比如使用屏幕尾侧的侧边抽屉式导航,或者使用上滑式底部动作条,或者使用选项菜单,甚至可以将内容完全隐藏起来。...△ 平均分布铰链两侧的八网格 (蓝背景) 适配示例 现在我们来看如何在运行期间利用好折叠状态。Jetpack Window Manager 库提供了相应的 API,可以检测应用窗口是否存在折叠。...掌握了折叠姿态的相关信息,我们可以通过一些方法来查看设备是否处于前面提及的某种姿态。

    4.5K20

    深入理解bootstrap

    C.按钮组 1.只需要在多个按扭外部使用一个窗口元素(比如div),然后容器元素上应用 .btn-group样式即可 2.按扭工具多个分组外再放一个大的容器元素,然后容器元素上应用 .btn-toolbar...1.一般导航条(navbar)和选项卡(tab)上实现 2.首先navbar的父容器上要应用.navbar样式,其次顶级ul块上要应用.nav和.navbar-nav样式 3.使用规则: 菜单样式和菜单保持一致...被单击的链接或者按扭上需要应用data-toggle="dropdown" 4.js用法:$('#id').dropdown();,也包含事件订阅等功能,与modal类似 D.滚动侦测 1.滚动侦测(...属性 设置菜单链接容器,设置id或样式怀data-target一致 菜单容器内,必须有.nav样式的元素,并且在其内部有li元素,li内鈊的a元素才是可以侦测高亮的菜单链接,即符合.nav li >...1.data-toggle="collapse"配合data-target=""使用,折叠区域使用collapse和in样式 2.默认隐藏折叠区域,触发元素上添加一个.collapsed样式,去掉折叠区域的

    3.4K60

    记一个“奇葩”需求的实现

    2、需求: 导航菜单(el-menu组件)竖向展示的 鼠标移入一级菜单展示下面的菜单,移出则收起来(手风琴模式,正常状态下只保持一个菜单处于展开状态,手动鼠标悬浮展开的不算) 选中某个子菜单时高亮对应的一级菜单...,并且当鼠标移出高亮的这个菜单模块时不折叠,但是可以点击一级菜单进行折叠(注意:跟第一条有区别) 3、问题: element-ui的导航组件菜单打开的触发方式可以通过 menu-trigger...(只能自己修改了) unique-opened 参数可以控制是否只保持一个菜单展开,但是没有菜单的情况下失效(需要手动修改) 4、思路分析: 导航菜单使用递归el-submenu组件实现...) 只保持一个菜单处于展开状态 先配置 unique-opened 参数为 false ,以保证 openedMenus 只有一个( openedMenus 是el-menu内部维护的属性, 可以自行打印看一下...) 一开始我想在菜单展开折叠的回调事件(open、close)里写逻辑判断,但是不知道什么原因回调事件不触发(注意:open方法和open事件不一样,组件三大要素:属性、事件、方法),所以我就考虑

    70910

    BuildAdmin02:前端架构布局和菜单折叠的实现

    我们先看BuildAdmin的布局: 可以看到BuildAdmin的整体布局是由:菜单aside、导航header和中心区域main组成的。...之后会根据导航标签大小和页面布局调整高和宽,即height和width。 main主要展示各个菜单路由切换的页面,只要确定height和width即可,这个可以后面实现完路由再调整。...菜单折叠功能 菜单折叠功能如下图所演示: 点击logo旁的折叠按钮时,可以观察到4种变化: aside变窄,不再是260px 折叠按钮图标变化 logo折叠(消失) 菜单折叠,只剩图标 当点击折叠按钮时...菜单状态变量 pinia定义的变量如下: 当点击折叠按钮时,通过修改menuCollapse就可以通知到logo和menu组件是否折叠。...同时我们也看到了menuWidth变量,即菜单的宽度为260,那么当折叠之后宽度变为多少呢?

    81041
    领券