vue中使用锚点x轴y轴

vue中使用锚点(x轴y轴)

需求1:点击左侧导航栏,页面需要滚动到对应的标题。(y轴)
在这里插入图片描述
第一步:给中间内容div从第一个开始每一个最外层盒子添加一个class||id一个标识。(不能相同)
第二步:使用 window.scrollTo(支持参数 smooth(平滑滚动),instant(瞬间滚动),默认值auto,实测效果等同于instant)

 window.scrollTo({
          top: distance, //滚动高度
          behavior: 'smooth' 
        })

完整代码:

            <div class="left-common line1" :class="lefTabIndex==index?'cor6356FF':isBuy?'item':''"
                 v-for="(item,index) in dingweiList" @click="goDingyue(index)">
              {{ item }}
            </div>
      dingweiList: ['1.基本概念', '2.研究趋势', '3.相关概念', '4.相关维度推荐', '5.相关理论推荐', '6.相关方法推荐', '7.限定词推荐', '8.核心参考文献', '9.主题文献综述推荐', '10.核心参考著作', '11.立项课题推荐', '12.相关学习视频推荐']

    goDingyue (index) {
      if (this.isBuy) {
        this.lefTabIndex = index
        let distance = this.$el.querySelector('.dingwei' + (index + 1)).offsetTop - 150 //获取div距离顶部的距离减去导航条的高度
        window.scrollTo({
          top: distance,
          behavior: 'smooth'
        })
      }
    },


需求2:点击上面的标题,x轴滑动

在这里插入图片描述
第一步:给下面内容的div从第一个开始每一个最外层盒子添加一个class||id一个标识。(不能相同)
第二步:使用 scrollIntoView(支持参数 smooth(平滑滚动),instant(瞬间滚动),默认值auto,实测效果等同于instant)

document.getElementById(id).scrollIntoView({ behavior: 'smooth' })

完整代码:

<div class="hot-subject">
      <div class="hot-subject-item" v-for="(item,index) in keys" @click="rollHead(index)">{{ item.album }}</div>
    </div>
    
    rollHead (index) {
      let id = 'go' + (index + 1)
      document.getElementById(id).scrollIntoView({ behavior: 'smooth' })
    },

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值