vue中实现页面锚点的跳转

Posted shenpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中实现页面锚点的跳转相关的知识,希望对你有一定的参考价值。

页面做了一个简单的锚点跳转,如下图,我对左侧的四项加了页面定位跳转,也就是跳转至锚点

技术图片

 

代码比较简单,和js的DOM操作原理是一样的

<div class="order-view" ref="orderview">
    <div class="order-nav">
        <ul>
            <li v-for="(item,index) in navList" :key="index" @click="goNavList(index)">{{item.name}}</li>
        </ul>
    </div>
    <div class="order-detail">
        <div class="form-content" ref="billinfo"></div>
        <div class="form-content" ref="cust"></div>
        <div class="form-content" ref="order"></div>
        <div class="form-content" ref="prod"></div>
    </div>
</div>

 

goNavList(val) {
    let height = 0;
    switch(val) {
        case 0:
            height = 0;
            break;
        case 1:
            height = this.$refs.billinfo.offsetHeight;
            break;
        case 2:
            height = this.$refs.billinfo.offsetHeight + this.$refs.cust.offsetHeight;
            break;
        case 3:
            height = this.$refs.billinfo.offsetHeight + this.$refs.cust.offsetHeight + this.$refs.order.offsetHeight;
            break;
        default:
            break;
    }
    this.$refs.orderview.scrollTop = height;
},

我这里是利用了每个div元素的高度来实现定位

跳回至页面头部就更简单了 

this.$refs.orderview.scrollTop = 0;

以上是关于vue中实现页面锚点的跳转的主要内容,如果未能解决你的问题,请参考以下文章

如何在vue中实现路由跳转判断用户权限功能

使用锚点链接路径不发生跳转

vue使用vue构建多页面应用

进入页面跳转到指定锚点

Html-锚点

Html-锚点