【发布时间】:2020-04-20 04:08:27
【问题描述】:
以下是我想要实现的 - 当导航栏中的下拉项目被选中时,完成以下 2 个操作中的 BOTH:
- 转到具有目标 id 的 div
- 将导航栏卷起至初始状态(将其隐藏回完全卷起的状态)
事实证明,我只能做一个或另一个,但不能同时做。有人可以帮助提供有关我如何实现这两点的指导吗?我相信第一个下拉项目锚应该这样做,但是由于某种原因,它在滚动导航栏后不会转到 targetId。仅当我删除第二个锚点显示的 data-toggle="collapse" 和 data-target=".navbar-collapse.show" 时,锚点才会将我带到目标,但导航栏不会卷起。
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<nav class="navbar navbar-dark bg-dark fixed-top">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Menu</a>
<div class="dropdown-menu shadow rounded" aria-labelledby="dropdown01">
<a class="dropdown-item" href="#targetId" data-toggle="collapse" data-target=".navbar-collapse.show">nav-link does get hidden, but it doesn't hit the target</a>
<a class="dropdown-item" href="#targetId">Hits the target, but the nav-link does not get hidden</a>
</div>
</li>
</ul>
</div>
</nav>
<!-- navbar ends here -->
<div id="targetId">Content</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
非常感谢您的帮助,非常感谢!
【问题讨论】:
标签: javascript html css twitter-bootstrap bootstrap-4