javascript - 在同一页面上的每个 Bootstrap Accordion 中制作目录词缀
问题描述
我正在开发一个页面,其中包含多个Accordions,每个 Accordions 中都插入了大量文本,考虑到页面的可用性和易用性,我考虑尝试添加一个Table of Contents。
但是每次搜索时,我都找不到添加如此具体的内容的方法。因为,在此 ToC 的文档中,它只告诉向 body 标记添加属性,并且尽管我试图指定 ToC 的范围,它仍然可以识别整个页面上的所有 h 标题。下面是他行为方式的图像。
请注意,ToC 正在寻找其他标题,例如“ FAQs - Bancada ”,但作为 h3 的 Footsteps 不会出现,如果我们向下滚动应该会出现,但导航不会跟随,除了“ Formatação ”也不会出现na bancada ",一个 h2,出现。
我现在将展示代码。跟随库和 javascript 的头部标题。
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<!-- Bootstrap Table of Contents CSS -->
<link rel="stylesheet" type="text/css" href="css/bootstrap-toc.min.css" />
<title>FAQs - Bancada</title>
<!-- Jquery -->
<script src="js/jquery-3.5.1.slim.min.js"></script>
<!-- Bootstrap js -->
<script src="js/bootstrap.bundle.min.js"></script>
<!-- Table of Contents js -->
<script type="text/javascript" src="js/bootstrap-toc.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(function () {
var $myToc = $('#toc');
Toc.init($myToc);
$('#collapseOneFormatacao').scrollspy({
target: $('#toc')
});
});
Toc.init({
// The element that the navigation will be created in
$nav: $('#toc'),
// The element where the search for headings will be limited to
$scope: $('#collapseOneFormatacao')
});
});
</script>
现在遵循 HTML。
<!-- Formatacao -->
<div class="accordion" id="accordionFormatacao">
<!-- Formatacao na bancada -->
<div class="card">
<div class="card-header" id="headingOneFormatacao">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse"
data-target="#collapseOneFormatacao" aria-expanded="true"
aria-controls="collapseOneFormatacao">
Formatação na bancada
</button>
</h2>
</div>
<div id="collapseOneFormatacao" class="collapse" aria-labelledby="headingOneFormatacao"
data-parent="#accordionFormatacao" data-spy="scroll" data-target="#toc">
<div class="card-body">
<div class="row">
<div class="col-sm-3">
<nav id="toc" data-spy="affix" data-toggle="toc"></nav>
</div>
<div class="col-sm-9">
<h3>Passo a passo</h3>
<p>Como utilizamos um servidor de imagem, preparamos a máquina com o básico:
</p>
...
</div> <!-- ./col-sm-9 -->
</div> <!-- ./row -->
</div> <!-- ./card-body -->
</div> <!-- ./collapseOneFormatacao -->
</div> <!-- ./Formatacao na bancada -->
<!-- Formatacao remota -->
<div class="card">
<div class="card-header" id="headingFourFormatacao">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left collapsed" type="button"
data-toggle="collapse" data-target="#collapseFourFormatacao" aria-expanded="false"
aria-controls="collapseFourFormatacao">
Formatação remota
</button>
</h2>
</div>
<div id="collapseTwoFormatacao " class="collapse" aria-labelledby="headingFourFormatacao" data-parent="#accordionFormatacao">
<div class="card-body">
...
</div> <!-- ./card-body -->
</div> <!-- ./#collapseTwoFormatacao -->
</div> <!-- ./Formatacao remota -->
</div> <!-- ./accordionFormatacao -->
我是否遗漏了一些愚蠢的东西,还是问题如此具体以至于需要特殊处理?记住再往下还有其他 Accordions,我想在其中制作其他 ToC,每个人都会收到一个 ToC 来表示他们拥有的内容。
解决方案
推荐阅读
- cron - 如何编辑之前发送的嵌入?
- python - 计算列表中具有相同值的子列表
- macos - 如何在 Mac 上将屏幕亮度提高到超过限制
- google-apps-script - 将 Google Drive 目录中的所有文件还原为旧版本
- spring - 无法使用 API Gateway Spring Cloud 调用实际服务
- python - Python 将方法应用于两个大列表中的元素对需要很长时间来处理
- react-native - Expo CLI 无法解析模块@react-navigation/native
- javascript - 在 window.location.reload() 之后停止代码执行并防止 .always ajax 事件
- javascript - 在 Javascript 中从 JSON 数组向日期添加日期
- reactjs - 如何使用 webpack 缓存节点模块?