解决vue路由与锚点冲突问题

<!-- Tab -->
<ul class="navTab">
  <li><a href="" @click.prevent="skipModel('model1')">A</a></li>
  <li><a href="" @click.prevent="skipModel('model2')">B</a></li>
  <li><a href="" @click.prevent="skipModel('model3')">C</a></li>
</ul>
<!-- 对应模块 -->
<div id="model1">A模块</div>
<div id="model2">B模块</div>
<div id="model3">C模块</div>
skipModel(anchor) { 
  // 找到锚点
  document.querySelector('#'+ anchor).scrollIntoView({behavior: "smooth"});
}

Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内。

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。