vue中的锚链接跳转问题

一、在vue中的锚链接和普通的html不同

关于vue中的锚链接可以参考vue 中的  scrollBehavior 滚动行为。

在router.js中 

const router = new VueRouter({
           routes,
      mode: 'history',
      scrollBehavior(to, from, savedPosition) {
        if (to.hash) {
          return {
            selector: to.hash
          }
        }
      }
})
export default router;

在vue中  点击跳转的位置 使用<a>链接包起来

<div>
    <a href="#populationInformation">人口画像</a>
</div>
<div>
    <a href="#peopleCounting">人流统计</a>
</div>
<div>
    <a href="#trafficAnalysis">交通分析</a>
</div>

在需要跳转到的位置

<div id='populationInformation'> 人口画像跳转到此</div>
<div id='peopleCounting'> 人流统计跳转到此 </div>
<div id='trafficAnalysis'>交通分析跳转到此 </div>

要保证<a>标签的 href 的地址要和下面id的值是相同的才可以完成相应的跳转,至于在router中的配置也是必须的。

 

二、如何在vue中监听滚动事件呢

例如滚动到一定程度的时候触发什么或者执行什么

在mounted 中

window.addEventListener('scroll', this.handleScroll)

然后方法中

  mounted: function () {
    this.$nextTick(function () {
      window.addEventListener('scroll', this.onScroll)
    })
  },
  methods: {
    onScroll () {
      let scrolled = document.documentElement.scrollTop || document.body.scrollTop
    // 586、1063分别为第二个和第三个锚点对应的距离
      if (scrolled >= 1063) {
        this.steps.active = 2
      } else if (scrolled < 1063 && scrolled >= 586) {
        this.steps.active = 1
      } else {
        this.steps.active = 0
      }
    }
  }

 但是这种有一个问题就是,滚动特别突兀不像jq可以谁知滚动的动画。那么如何实现滚动的平滑呢,具体参考

转载于:https://www.cnblogs.com/haonanZhang/p/9376948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值