在vue項目中,因為采用路由跳轉,會導致無法使用常規的a標簽配合ID的錨點功能。
解決辦法:
<a href="javascript:void(0)" @click="goAnchor('#anchor')"> 灰啊灰啊我的驕傲放縱</a>
methods: { goAnchor(selector) { var anchor = this.$el.querySelector(selector) document.body.scrollTop = anchor.offsetTop } }
17. 9. 20 更新: 以上在FireFox有BUG,修復如下:
methods: { goAnchor(selector) { var anchor = this.$el.querySelector(selector) document.body.scrollTop = anchor.offsetTop; // chrome document.documentElement.scrollTop = anchor.offsetTop; // firefox } }
18. 5. 17 更新: 針對有好幾個小伙伴提出的按此方法沒有效果,統一回復如下
1. 此方法中改變body的滾動距離只是一個示例,非通用,實際開發中,你要清楚到底是改變哪個元素才能達到你的效果。
弄清楚這個,然后再去賦值。這是屬於比較基礎的知識。
2. 還有就是,博客評論我看到都會回復,微信提問處理更快。But, 我只會提思路,不會直接給出代碼,思想懶惰者勿擾!