• 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可以谁知滚动的动画。那么如何实现滚动的平滑呢,具体参考

  • 相关阅读:
    vue中sessionStorage的使用
    SQLserver将查询的字段中的数据 拼接成字符串用逗号隔开
    vue中引入百度地图
    已拦截跨源请求:同源策略禁止读取位于XXX的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin'
    前台调用微信接口成功还报Network Error
    SpringBoot获得application.properties中数据的几种方式
    设置session销毁时间
    Linux基本命令-ls
    Linux基础命令-cd
    Linux基础命令-mkdir
  • 原文地址:https://www.cnblogs.com/haonanZhang/p/9376948.html
Copyright © 2020-2023  润新知