vue如何设置描点跳转到对应页面

 更新时间:2024年05月24日 11:48:24   作者:沐卿゚  
这篇文章主要介绍了vue如何设置描点跳转到对应页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue设置描点跳转到对应页面

<div id="app">
  <a href="#target" rel="external nofollow" >点击跳转到某个位置</a>
  <div class="spacer"></div> <!-- 这里添加一些空间以展示效果 -->
  <div id="target">目标位置</div>
</div>

vue锚点跳转到对应位置(精确定位)

安装:

npm install --save vue-scrollto

main.js引入

import Vue from 'vue'
var VueScrollTo = require('vue-scrollto');
Vue.use(VueScrollTo)

页面引用:

<template>
  <div class="scrollDemo">
    <div class="demoNav flex-center-center">
      <div
        class="demoNavItem"
        v-for="(item,index) in demoNavItem"
        :key="index"
        :class="{navActive : idx==index}"
        @click="changNav(index)"
      >{{item}}</div>
    </div>
    <div class="demoContent">
        <!-- 如果内容为循环,id则定义为:id="'demoItem'+index" -->
      <div class="demoItem0 demoItem" id="demoItem0">谷歌浏览器内容</div>
      <div class="demoItem1 demoItem" id="demoItem1">uc浏览器内容</div>
      <div class="demoItem2 demoItem" id="demoItem2">IE浏览器内容</div>
      <div class="demoItem3 demoItem" id="demoItem3">火狐浏览器内容</div>
      <div class="demoItem4 demoItem" id="demoItem4">360浏览器内容</div>
      <div class="demoItem5 demoItem" id="demoItem5">猎豹浏览器内容</div>
    </div>
  </div>
</template>
<script>
// 引入
var VueScrollTo = require("vue-scrollto");
export default {
  data() {
    return {
      idx: 0,
      demoNavItem: [
        "谷歌浏览器",
        "uc浏览器",
        "IE浏览器",
        "火狐浏览器",
        "360浏览器",
        "猎豹浏览器",
      ],
    };
  },
  methods: {
    // 导航选中效果
    changNav(index) {
      this.idx = index;
      VueScrollTo.scrollTo(document.getElementById("demoItem" + index), 1000, {
        offset: -50,
      });
    },
  },
};
</script>
<style  scoped>
 
.flex-center-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.demoNav {
    width: 100%;
    height: 70px;
    background: rgba(0, 31, 144, 1);
    position: sticky;
    left: 0;
    top: 0;
}
.demoNavItem {
  font-size: 40px;
  color: #fff;
  margin-left: 30px;
  cursor: pointer;
}
.navActive {
  color: red;
}
.demoItem {
  width: 100%;
  height: 600px;
  font-size: 60px;
  color: #fff;
  text-align: center;
  padding: 60px 0 0 0;
}
.demoItem0{
  background: gold;
}
.demoItem1 {
  background: red;
}
.demoItem2 {
  background: chartreuse;
}
.demoItem3 {
  background: cornflowerblue;
}
.demoItem4 {
  background: cyan;
}
.demoItem5 {
  background: darkmagenta;
}
</style>

效果图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅析Vue.js中$emit和$on的用法和区别

    浅析Vue.js中$emit和$on的用法和区别

    在 Vue.js 中,$emit和$on方法是两个常用的方法,用于实现组件间的通信,虽然它们的名字很相似,但它们的作用和用法有所不同,本文将介绍$emit和$on方法的区别,并通过代码示例来说明它们的用法,感兴趣的朋友可以参考下
    2023-07-07
  • vue的token刷新处理的方法

    vue的token刷新处理的方法

    这篇文章主要介绍了vue的token刷新处理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • vue报错Not allowed to load local resource的解决办法

    vue报错Not allowed to load local resource的解决办法

    这篇文章主要给大家介绍了关于vue报错Not allowed to load local resource的解决办法,这个错误是因为Vue不能加载本地资源的原因,需要的朋友可以参考下
    2023-07-07
  • 一篇看懂vuejs的状态管理神器 vuex状态管理模式

    一篇看懂vuejs的状态管理神器 vuex状态管理模式

    一篇看懂vuejs的状态管理神器,Vuex一个专为Vue.js应用程序开发的状态管理模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Vue利用相反数实现飘窗动画效果

    Vue利用相反数实现飘窗动画效果

    飘窗,即一个类似小窗子的在网页上移动的矩形元素,通常被用于一些通知类的应用场景。本文将利用相反数实现这一动画效果,需要的可以参考一下
    2022-05-05
  • vue-antd form组件封装全过程

    vue-antd form组件封装全过程

    这篇文章主要介绍了vue-antd form组件封装全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue项目build打包后部分样式错乱的解决

    vue项目build打包后部分样式错乱的解决

    这篇文章主要介绍了vue项目build打包后部分样式错乱的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 在JS中如何同步修改vue中的变量

    在JS中如何同步修改vue中的变量

    这篇文章主要介绍了在JS中如何同步修改vue中的变量问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Electron-store本地存储功能用法详解

    Electron-store本地存储功能用法详解

    这篇文章主要为大家介绍了Electron-store本地存储功能的用法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Vue-resource安装过程及使用方法解析

    Vue-resource安装过程及使用方法解析

    这篇文章主要介绍了Vue-resource安装过程及使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论