vue 路由跳转到指定区域

需求:点击跳转时,页面呈现在内容部分
方法一: 通过路由

html
 <h3 class="title" id="title">北京办公区</h3>
```html
js
  mounted: function () {
    //  var hash = window.location.hash;
    //  var index = hash.lastIndexOf("#");
    //  if (index != -1) {
    //    var id = hash.substring(index + 1, hash.length + 1);
    //    var div = document.getElementById(id);
    //    if (div) {
    //      setTimeout(function () {
    //        console.log($(div).offset().top);
    //        //$('html,body').scrollTop($(div).offset().top - 43);
    //        $('html, body').animate({scrollTop: $(div).offset().top - 43}, 500)
    //      }, 500);
    //    }
    //  }
  },```
  路由跳转时  /tolist?#title即可
## 方法二
utils/  scrollTop.js
function setScrollTop(el,n=300) {
    var T = document.getElementById(el);
    let top = T.getBoundingClientRect().top; // console.log(;
    window.scrollTo({
        top: top-50 ,
        behavior: "smooth",
    });
}
export default setScrollTop;

js
引入
import setScrollTop from "../../utils/setScrollTop.js";
  watch: {
    $route(to, from) {
      setScrollTop('title');
    },
  },
  mounted(){
    setScrollTop('title');
  },
```html
html
 <h3 class="title" id="title">北京办公区</h3>
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值