vue 过渡和动画

简介: vue 过渡和动画

为什么要学习过渡和动画:

提高用户体验 与 页面的交互性

从而 影响用户的行为,引导用户,帮助用户看到动作行为的反馈

什么是过渡、动画

过渡

从一个状态向另一个状态插入值,新的状态替换了旧的状态

vue中提供了过渡组件 transition

语法格式:

transition 放置需要添加过渡的元素 div

使用name属性设置前缀 fade-

如果没有设置name v-

vue 标签内部提供了三个 进入过渡 以及 3个离开过渡的类

进入

v-enter 进入过渡的开始状态,作用于开始的一帧

v-enter-active 进入过渡生效时的状态,作用于整个过程

v-enter-to 进入过渡的结束状态,作用于结束的一帧

离开

v-leave 离开过渡的开始状态,作用于开始的一帧

v-leave-active 离开过渡生效时的状态,作用于整个过程

v-leave-to 离开过渡的结束状态,作用于结束的一帧

语法格式代码:

<transition name="fade">
  <!-- 添加过渡的div标签 -->
  <div></div> 
</transition>

简单的使用案例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      .v-enter-active,.v-leave-active{
        transition: opacity 2.5s;
      }
      .v-enter,.v-leave-to{
        opacity: 0;
      }
      /*
        过渡动画的开始:
          v-enter 开始、v-enter-active 过程、v-enter-to 结束 
        过渡动画的结束:
          v-leave 开始、v-leave-active 过程、v-leave-to 结束
      */
    </style>
  </head>
  <body>
    <!-- 视图 -->
    <div id="app">
      <button v-on:click="show = !show">toggle - 切换</button>
      <transition>
        <!-- 过渡标签 -->
        <h3 v-if="show">哈哈哈哈哈哈</h3>
      </transition>
    </div>
    <script src="./node_modules/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
      new Vue({
        el:"#app",
        data:{
          show:true
        }
      })
    </script>
  </body>
</html>

效果就是点击内容在几秒后消失,再次点击几秒后显示

vue动画效果的实现案例:

@keyframes:定义动画关键子

scale:按括号里的值放大缩小

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      .v-enter-active {
        animation: bounce-in .5s;
      }
      .v-leave-active {
        animation: bounce-in .5s reverse;
      }
      /* @keyframes 定义动画关键子 */
      /* scale  按括号里的值放大缩小 */
      @keyframes bounce-in {
        0% {
          transform: scale(0);
        color:red;
        }
        50% {
          transform: scale(1.5);
        }
        100% {
          transform: scale(1);
        color: green;
        }
      }
    </style>
  </head>
  <body>
    <!-- 视图 -->
    <div id="app">
      <button v-on:click="show = !show">toggle - 切换</button>
      <transition>
        <!-- 过渡标签 -->
        <h3 v-if="show">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</h3>
      </transition>
    </div>
    <script src="./node_modules/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
      new Vue({
        el:"#app",
        data:{
          show:true
        }
      })
    </script>
  </body>
</html>

效果是点击放大后缩小,并变色,最后缩小到消失,再次点击还是放大后缩小,并变色,最后恢复到默认样式。


总结:

以上就是 vue 中的过渡和动画,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。

相关文章
|
22天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
119 1
|
1天前
|
JavaScript 安全 API
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
22 8
|
2天前
|
存储 设计模式 JavaScript
Vue 组件化开发:构建高质量应用的核心
本文深入探讨了 Vue.js 组件化开发的核心概念与最佳实践。
16 1
|
1月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
65 18
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
2月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
45 1
|
2月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。