vue中设置锚点,定位到固定位置

<template>
  <div class="wrap">
    <ul>
      <li><a href="javascript:void(0)" @click="goAuchor('#one')">第一</a></li>
      <li><a href="javascript:void(0)" @click="goAuchor('#two')">第二</a></li>
      <li><a href="javascript:void(0)" @click="goAuchor('#three')">第三</a></li>
      <li><a href="javascript:void(0)" @click="goAuchor('#four')">第四</a></li>
    </ul>
    <div id="one" class="one"></div>
    <div id="two" class="two"></div>
    <div id="three" class="three"></div>
    <div id="four" class="four"></div>
  </div>
</template>

<script>
export default {
  methods:{
    goAuchor(id){
      console.log(id)
      document.querySelector(id).scrollIntoView(true)
      var auchor=this.$el.querySelector(id)
      console.log(auchor)
      console.log(auchor.getBoundingClientRect().top)
      document.body.scrollTop=auchor.offsetTop
    }
  }
};
</script>

<style scoped>
.wrap {
  width: 100%;
  height: 100%;
}
.one{
  width: 100%;
  height: 500px;
  background-color: red;
}
.two{
  width: 100%;
  height: 500px;
  background-color: blue;
}
.three{
  width: 100%;
  height: 500px;
  background-color: green;
}
.four{
  width: 100%;
  height: 500px;
  background-color: yellow;
}
ul{
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0;
}
li{
  list-style: none;
  float: left;
  background-color: rebeccapurple;
  height: 100%;
  margin-left: 50px;
  cursor: pointer;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值