设为首页 加入收藏

TOP

Vue学习之动画小结(六)(一)
2019-09-17 18:25:24 】 浏览:50
Tags:Vue 习之 动画 小结

一、Vue中实现动画的方式:https://cn.vuejs.org/v2/guide/transitions.html

Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。
包括以下工具:

  • 在 CSS 过渡和动画中自动应用 class
  • 可以配合使用第三方 CSS 动画库,如 Animate.css
  • 在过渡钩子函数中使用 java script 直接操作 DOM
  • 可以配合使用第三方 java script 动画库,如 Velocity.js

 二、使用过渡类名实现动画:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=
    , initial-scale=1.0"
    />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>donghua</title>
    <link rel="stylesheet" href="./lib/animate.css" />
    <style>
      /* 2.自定义两组样式,来控制 transition 内部的元素实现动画 */
      /* v-enter【这是一个时间点】是进入之前,元素的起始状态,此时还没有开始进入 */
      /* v-leave-to 【这是一个时间点】 是动画离开之后,离开的终止状态,此时,元素 动画已经结束了*/
      .v-enter,
      .v-leave-to {
        opacity: 0;
        /* 沿着X轴 */
        /* transform: translateX(150px); */
        /* 沿着Y轴 */
        transform: translateY(150px);
      }
      /*v-enter-active【入场动画的时间段】  */
      /* v-leave-active【离场动画的时间段】 */

      .v-enter-active,
      .v-leave-active {
        transition: all 0.8s ease;
      }
    </style>
  </head>

  <body>
    <script src="./lib/vue.js"></script>
    <div id="app">
      <input type="button" value="toggle" @click="flag=!flag" />
      <!-- 需求:点击按钮,让H3显示,再点击,让H3隐藏 -->
      <!-- 1、使用 transition 元素,把需要被动画控制的元素,包裹起来 -->
      <transition>
        <h3 v-if="flag">这是一个H3</h3>
      </transition>
    </div>

    <script>
      var vm = new Vue({
        el: "#app",
        data: {
          flag: false
        }
      });
    </script>
  </body>
</html>

 

三、使用animate.css类实现动画:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=
    , initial-scale=1.0"
    />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>donghua</title>
    <link rel="stylesheet" href="./lib/animate.css" />
  </head>

  <body>
    <script src="./lib/vue.js"></script>
    <div id="app">
      <input type="button" value="toggle" @click="flag=!flag" />
      <!-- 使用 :duration="{ enter :200, leave: 400}"来分别设置 入场的时长和 离场的时长  -->
      <transition
        enter-active-class="bounceIn"
        leave-active-class="bounceOut"
        :duration="{ enter :200, leave: 400}"
      >
        <h3 v-if="flag" class="animated">这是一个H3</h3>
      </transition>
    </div>

    <script>
      var vm = new Vue({
        el: "#app",
        data: {
          flag: false
        }
      });
    </script>
  </body>
</html>

 四、使用钩子函数:

可以在属性中声明 java script 钩子

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>donghua</title>
    <style>
      /* 定义动画小球 */
      .ball {
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background-color: red;
      }
    </style>
  </h
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇jQuery火箭图标返回顶部代码 下一篇Vue学习之vue-resource小结(五)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目