美文网首页
Vue中的动画

Vue中的动画

作者: 最爱喝龙井 | 来源:发表于2019-08-13 16:25 被阅读0次

过渡的类名

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

1. v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

2. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

3. v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

4. v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

5. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

6. v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

image.png

例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="">
    <style>
        .v-enter,
        .v-leave-to {
            opacity: 0;
            transform: translateX(200px);
        }
        .v-enter-active,
        .v-leave-active {
            transition: all .6s ease;
        }
    </style>
</head>
<body>
    <div id="app">
        <input type="button" value="按钮" @click='flag=!flag'>
        <transition>
            <p v-show='flag'>{{ msg }}</p>
        </transition>
    </div>
    <script src="js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                flag: false,
                msg: 'hello world!!!'
            }
        })
    </script>
</body>
</html>

应用动画的步骤:
①. 用<transition>标签将需要动画的元素包裹起来;
②. 定义v-enter, v-leave-to以及v-enter-active,v-leave-active两组样式

注意:对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 <transition>,则 v-是这些类名的默认前缀。如果你使用了 <transition name="my-transition">,那么 v-enter 会替换为 my-transition-enter,即你起的name是什么,v就变成什么。

例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="">
    <style>
        .v-enter,
        .v-leave-to {
            opacity: 0;
            transform: translateX(200px);
        }
        .v-enter-active,
        .v-leave-active {
            transition: all .6s ease;
        }
        .my-enter,
        .my-leave-to {
            opacity: 0;
            transform: translateY(200px);
        }
        .my-enter-active,
        .my-leave-active {
            transition: all .6s ease;
        }
    </style>
</head>
<body>
    <div id="app">
        <input type="button" value="按钮" @click='flag=!flag'>
        <input type="button" value="按钮" @click='flag2=!flag2'>
        <transition>
            <p v-show='flag'>{{ msg }}</p>
        </transition>
        <transition name='my'>
            <p v-show='flag2'>{{ msg }}</p>
        </transition>
    </div>
    <script src="js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                flag: false,
                flag2: false,
                msg: 'hello world!!!'
            }
        })
    </script>
</body>
</html>

相关文章

  • vue的动画特效

    一、Vue中的CSS动画原理transition标签 二、Vue中的JS动画与velocity.js 三、Vue中...

  • Vue动画

    Vue动画 Vue动画 CSS transition 在进入/离开的过渡中,会有 6 个 class 切换。 对于...

  • Vue中的CSS动画原理(一)

    这里以Vue中的transition过渡动画为例介绍Vue中的CSS动画原理。效果如图1所示,通过toggle...

  • vue零基础开发025——Vue中Js动画与velocity.j

    【Vue中Js动画】 【velocity.js】

  • vue中动画

    1. 下载并且引入Animate.css 2. 在html中添加 class="animated" transit...

  • vue中的动画

    vue中的动画主要依靠transition这个控件,关于transition这个api可以上官网查看vue中的tr...

  • Vue中的动画

    Vue动画 Vue动画API 定义不同的名称动画 第三方动画库Animate.css和Vue的结合使用 enter...

  • Vue中的动画

    过渡的类名 在进入/离开的过渡中,会有 6 个 class 切换。 1. v-enter:定义进入过渡的开始状态...

  • vue中的动画

    v-if操作的是DOMv-show操作的是样式如果频繁切换dom使用v-show,当数据一开始就确定下来使用v-i...

  • Vue中的动画

    基础CSS过渡和动画 动画:keyframes过渡:transition 列表动画 状态动画 组件和元素切换 1....

网友评论

      本文标题:Vue中的动画

      本文链接:https://www.haomeiwen.com/subject/lrjbjctx.html