【Vue】Vue项目实现菜单切换效果动画

15 篇文章 4 订阅 ¥9.90 ¥99.00
本文介绍了如何在Vue项目中实现菜单切换时的过渡动画效果。通过在<router-view>元素上添加<transition>组件,并定义相应的CSS样式,实现平滑的过渡效果。在进入和离开过程中,利用Vue的v-enter、v-enter-active、v-leave和v-leave-active等类名进行状态控制。
摘要由CSDN通过智能技术生成
1. 实现效果

在这里插入图片描述

2. 实现步骤
2.1 在页面组件之间添加过渡效果

使用 < transition name=“fade”>包裹 < router-view > 元素

<template>
  <div>
    <el-container>
      <el-header>
        <Layout></Layout>
      </el-header>
      <el-main>
        <transition name="fade">
          <router-view></router-view>
        </transition>
      </el-main>
    </el-container>
  </div>
</template>
2.2 设置过渡效果的CSS样式
<style scoped>
  /* 菜单的淡入淡出效果 */
  .fade-enter-active, .fade-leave-active {
    /* 设置过渡效果的CSS属性名称 */
    transition-property: opacity margin;
    /* 设置过渡效果需要的时间 */
    transition-duration: .5s;
  }
  .fade-enter-active {
    /* 设置过渡效果何时开始 */
    transition-delay: .25s;
  }
  .fade-enter, .fade-leave-active {
    /* 过渡效果属性 */
    opacity: 0;
    margin-left: 50px;
  }
</style>
3. 过渡的类名

在进入\ 离开的过渡中,会有6个 class 切换

  1. v-enter : 定义进入过渡的开始状态
  2. v-enter-active : 定义进入过渡生效时的状态
  3. v-leave: 定义离开过渡的开始状态
  4. v-leave-active : 定义离开过渡生效时的状态

对于这些在过渡中切换的类名来说,如果你使用一个没有名字的< transition>, 则 v- 是这些类名的默认前缀。如果使用了< transition name=“my-transition”>,那么 v-enter 会替换为 my-transition-enter,其它过渡类类似…

具体描述参考:单元素/组件的过渡

环境配置 Node 下载地址http://nodejs.cn/ 安装文件下有一个绿色的图片交node.exe 点击运行 输入node -v进行检测是否安装成功 使用vue-cli(脚手架)搭建项目 vue-cli是vue官方提供的用域搭建基于vue+webpack_es6项目的脚手架工具 在线文档:https://github.com/vuejs/vue-cli 操作: 1.npm install -g vue-cli:全局下载工具 2.vue init webpack 项目名:下载基于webpack模板项目 3.cd 项目名:进入项目目录 4.npm install :下载项目依赖的所有模块 5.npm run dev :运行项目 6.访问项目:localhost:8080 项目目录结构 src assets:存放照片、css、js css js img components:存放组件 lib:存放模拟数据 router:配置路由 store:存放vuex vuex的安装:cd x项目目录 cnpm install vuex --save views:存放所有单页面 配置访问端口号: 根目录下有一个config文件夹,看名字就知道与配置有关,打开config目录下的index.js dev: { env: require('./dev.env'), port: 8092, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {}, } 项目目录下:https://blog.csdn.net/weixin_39378691/article/details/83784403 1.安装elementUI:cd进入项目根目录,npm i element-ui -S 2.引入elementUI组件(main.js文件中) import Element from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(Element, { size: 'small' }) 项目目录下:https://blog.csdn.net/weixin_41432849/article/details/81988058 1.安装jquery:cd进入项目根目录, npm install jquery --save 2.在项目 build 里的webpack.base.conf.js 里加载webpack文件,注意,要放在配置文件第一行; const webpack = require('webpack') 3.在module.exports的最后加入 , plugins:[ new webpack.ProvidePlugin({ $:"jquery", jQuery:"jquery", jquery:"jquery", "window.jQuery":"jquery" }) ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值