Vue3——使用v-if或v-show来实现过渡的动画效果

简介: 使用v-if或v-show来实现过渡的动画效果

Vue3衔接过渡动画

想要通过v-if或者v-show来实现动画的衔接动作,也看了网上的一些例子,这里给总结一下

这里看下效果:

7dee14b8ed1a440fb8422c2ffd1581bc.gif

这种过渡效果很简单,只需要用if语句来判断动画出现顺序即可

e19c5150873245a4a4a1ea42d801d932.png

<transition name="h1">
    <div v-if="status.block" class="box" @click="box1">
      <h1>nanchen</h1>
    </div>
  </transition>
  <div style="width:100%;height:100vh;background-color:white">
    <transition name="h1">
      <div v-if="status.block == false" @click="box2">
        当前时间
      </div>
    </transition>
  </div>

css样式

/* 1.过渡动画 */
@keyframes axisX {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
/* 2. 过渡类名 */
/* 开始 */
.h1-enter-active {
  animation: axisX 1s;
}
/* 结束 */
.h1-leave-active {
  animation: axisX 1s reverse;
}

这里如果是想点击一次过渡过去再次点击一次过渡回来的话,是不需要给两个不同的transition标签设置两种动画,只需要用同一个动画即可。当然你也可以使用v-enter-active和v-leave-active来写动画,这样的话transition就不需要加**name=‘h1’**了


相关文章
|
6天前
|
JavaScript 索引
Vue 2和Vue 3的区别以及实现原理
Vue 2 的响应式系统通过Object.defineProperty来实现,它为对象的每个属性添加 getter 和 setter,以便追踪依赖并响应数据变化。
20 9
|
7天前
|
JavaScript 开发工具
vite如何打包vue3插件为JSSDK
【9月更文挑战第10天】以下是使用 Vite 打包 Vue 3 插件为 JS SDK 的步骤:首先通过 `npm init vite-plugin-sdk --template vue` 创建 Vue 3 项目并进入项目目录 `cd vite-plugin-sdk`。接着,在 `src` 目录下创建插件文件(如 `myPlugin.js`),并在 `main.js` 中引入和使用该插件。然后,修改 `vite.config.js` 文件以配置打包选项。最后,运行 `npm run build` 进行打包,生成的 `my-plugin-sdk.js` 即为 JS SDK,可在其他项目中引入使用。
|
5天前
|
JavaScript 调度
Vue3 使用 Event Bus
Vue3 使用 Event Bus
10 1
|
6天前
|
JavaScript
Vue3 : ref 与 reactive
Vue3 : ref 与 reactive
9 1
|
6天前
|
JavaScript
|
6天前
vue3定义暴露一些常量
vue3定义暴露一些常量
|
5天前
Vue3 使用mapState
Vue3 使用mapState
10 0
|
1天前
|
JavaScript 前端开发
vue动态添加style样式
vue动态添加style样式
|
1天前
|
JavaScript 前端开发
Vue项目使用px2rem
Vue项目使用px2rem
|
1天前
|
JavaScript
vue中watch的用法
vue中watch的用法