(Bootstrap 4)用粘性导航滚动到Tab-Pane的顶部



我有一个粘性导航(粘贴到屏幕顶部(,该导航使用Bootstrap 4在选项卡式面板之间切换。使其使该面板的内容从我在第一个面板中的同一垂直点显示。

我该如何制作,以便当我单击"新标签"时,页面滚动到面板的顶部?我知道我可以简单地添加ID,但是所有的A标签和DIV标签已经具有其ID - 但它不起作用。

<ul class="sticky-top nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">...</div>
</div>

意识到我可以简单地使用jQuery做到这一点。

 $(".nav-item a").click(function() {
        $([document.documentElement, document.body]).animate({
            scrollTop: $("#nav-tabContent").offset().top-70
        }, 200);
    });

最新更新