javascript - 创建一个指向页面并打开手风琴选项卡的链接
问题描述
我有一个 bootstrap 5 手风琴:
<div class="accordion" id="accordionIndexPage">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
<i class="fa fa-info-circle"></i> Summary
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#accordionIndexPage">
<div class="accordion-body">
[something]
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingTwo">
[etc...]
我想在我的导航菜单中创建一个链接,当从任何页面单击该链接时,它会将用户定向到手风琴所在的页面(index.html
),然后还在特定选项卡上打开手风琴(例如flush-collapseOne
)。
我从 Bootstrap 的网站上获得了精简代码:
var myCollapse = document.getElementById('flush-collapseOne')
var bsCollapse = new bootstrap.Collapse(myCollapse, {
toggle: false
})
我在正确的轨道上吗?
附言
我只是想我可以存储一个会话存储 cookie,比如说fromDiffPage: True
,当一个人单击另一个页面的链接时,然后在我的index.html
页面中放置一个 JavaScript,如果该参数为真,则打开该选项卡。冷那个工作?
解决方案
我已经通过使用一个sessionStorage
对象解决了:
<a class="nav-link" onclick="sessionStorage.setItem('fromNav', 'prints');" href="/">Summary</a>
然后是 JavaScript 代码index.html
:
if (sessionStorage.getItem('fromNav') == 'prints') {
new bootstrap.Collapse(document.getElementById('flush-collapseOne'), {
toggle: true
})
sessionStorage.setItem('fromNav', '')
window.location.href = "#flush-headingOne";
}
推荐阅读
- javascript - 离子电话间隙导航器地图不起作用
- vhdl - 如何将 std_logic_vector 的一位分配给 1,将其他位分配给 0
- r - 涉及第一个和第二个最大值的矩阵转换
- scikit-learn - 关于opencv的人脸识别算法验证(eigenface,fisherface,local binary pattern)
- sanity - 如何将内部连接作为 GROQ 中的条件?
- google-bigquery - 如何在不破坏 BigQuery Connector for Excel 的情况下运行标准 SQL 查询?
- switch-statement - 如何在不使用字母或数字的情况下制作带有单词或短语的选项菜单?
- javascript - 将对象值返回给父函数
- regex - 如何使用正则表达式找到某个单词之前的所有单词?
- python-3.x - 从 git hash 获取 git pull 请求号?