javascript - 在 Bootstrap 选项卡中滚动到页面顶部
问题描述
我使用 bootstrap 4 创建一个标签,如下所示:
<section class="main-section lightblue " id="wstabs">
<a class="anchor" id="description"></a>
<div class="bg-dark nav-tabs fixed-top" id="wstabs2" data-toggle="description">
<div class="container">
<ul class="nav tabs-marker tabs-dark bg-dark" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="text" data-toggle="tab" href="#text-tab" role="tab" aria-controls="text" aria-selected="true">tab1<span class="marker"></span></a>
</li>
<li class="nav-item">
<a class="nav-link" id="feature" data-toggle="tab" href="#feature-tab" role="tab" aria-controls="feature" aria-selected="false">tab2<span class="marker"></span></a>
</li>
</ul>
</div>
</div>
<div class="container" >
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="text-tab" role="tabpanel" aria-labelledby="text-tab">
1
<div class="tab-pane fade" id="feature-tab" role="tabpanel" aria-labelledby="feature-tab">
2
</div>
</div>
</div>
</section>
有用。
现在我将标题选项卡固定到顶部。
但我有一个问题。
例如,当我向下滚动并单击 tab2 时,它可以工作,但我也希望它滚动到这一行的顶部:(选项卡的开头)
<a class="anchor" id="description"></a>
怎么能这样做?我无法为标签定义两个锚href
链接。<a>
这是一个活生生的例子:jsfiddle
解决方案
您可以将事件侦听器附加到具有导航链接类的每个 html 元素,然后触发向上滚动功能以将视图带到顶部
document.querySelectorAll('.nav-link').forEach(linkItem => {
linkItem.addEventListener('click', _ => {
window.scrollTo(0, 0)
})
})
这是一个小提琴证明:https ://jsfiddle.net/jgLewspb/
推荐阅读
- image-processing - 如何在 ImageMagik 命令行中创建光迹 - 比较两个图像的最亮部分
- javascript - String.prototype.something() 实际上是如何工作的?
- angular - 如何替换 Angular 组件中的服务实现?
- wso2 - WSO2 IS 和联合 iDP
- airflow - 将这些任务组织成 DAG 的最佳方式
- .net - EF 核心中的计数总和
- reactjs - 使用 Realm-web 和 React
- javascript - 如何验证循环中的所有 reduxForm 字段?
- sinatra - 使用带有 Sinatra 的 Ruby ROM 连接到本地数据库时出错
- java - 如何在 Java 中的 http post 请求中发送 json 对象