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>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML中实现锚点定位并具有滚动效果的方法有多种。一种常见的方法是使用CSS的scroll-behavior属性和a标签的href属性。首先,在CSS中设置scroll-behavior属性为smooth,这将使得滚动条在滚动时具有平滑的效果。然后,在a标签中的href属性中设置目标位置的id值,例如#section。当点击该链接时,页面将会平滑滚动到相应的目标位置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [HTML锚点定位+平滑滚动](https://blog.csdn.net/m0_64520392/article/details/128941349)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [微信小程序-scroll-view滚动到指定位置(类似锚点)](https://download.csdn.net/download/weixin_38601878/16213063)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例](https://download.csdn.net/download/weixin_38665822/13982520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值