vue项目有个小需求 A页面点击跳转到B页面的锚点上,特此记录
试了很多方法都不能很好的解决, 自己想了个办法
A 页面:
<a class="core-item" href="#/product?mao=a">
<p>语音对讲</p>
<img src="../images/index/core1.png" alt="">
</a>
<a class="core-item" href="#/product?mao=b">
<p>图文短信</p>
<img src="../images/index/core2.png" alt="">
</a>
我的想法是先让A页面跳转到B页面带个参数是要定位到锚点的ID (mao=b) & (mao=a)
B页面接收传过来的参数mao的值
然后methods 里写个方法
jump(index) {
// this.mao 是A页面传过来的
let maodian = `#${this.mao}` // maodian 是B页面的Dom 元素的ID
let jump = document.querySelectorAll(maodian)
// 获取需要滚动的距离
let total = jump[0].offsetTop
//进行跳转, 不同浏览器的不同方法
// Chrome
document.body.scrollTop = total
// Firefox
document.documentElement.scrollTop = total
// Safari
window.pageYOffset = total
}
解决