Vue过渡动画—Vue学习笔记
要求:要通过Vue使用过渡动画我们要把需要过度的元素放在<transition name='变量名'></transition>中。
原理:通过在特定的时刻增加/移除样式实现。
一、Vue中的过度效果
1.未声明name,Vue默认添加/移除v-enter,v-leave-to,v-enter-active,v-leave-active来实现
v-enter决定元素在加入dom时的样式
v-enter-active决定样式执行状态
v-leave-to对应移除的
实例:为元素添加显示隐藏的过度效果
<style>
.v-enter,.v-leave-to{
opacity: 0;
}
.v-enter-active,.v-leave-active{
transition: opacity 1s;
}
</style>
</head>
<body>
<div id="app">
<transition>
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>
</body>
<script> var app=new Vue({
el:'#app',
data:{
show:true
},
methods:{
handleClick:function(){
this.show=!this.show
}
}
})
</script>
2.如果声明了对应的name则可以改写为
css:
<style>
.fade-enter,.fade-leave-to{
opacity:;
}
.fade-enter-active,.fade-leave-active{
transition: opacity 1s;
}
</style>
html:
<div id="app">
<transition name="fade">
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>
二、Vue中的动画效果
1.使用自定义动画
html不变,关键是css变为如下
@keyframes myfade{
        from{opacity:}
        to{opacity:}
    }
        .fade-enter-active{
            animation: myfade 1s;
        }
        .fade-leave-active{
            animation: myfade 1s reverse;
        }
实现效果一样,此时我们用的动画,当然动画还有很多效果。
2.采用Animate.css库文件实现动画
使用库文件时我们需要知道除了通过那么调用的另一种调用方法
直接在class中自定义调用的样式
css:
@keyframes myfade{
        from{opacity:}
        to{opacity:}
    }
        .enter{
            animation: myfade 1s;
        }
        .leave{
            animation: myfade 1s reverse;
        }
html:
<transition name="fade"
enter-active-class="enter"
leave-active-class="leave"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
此时的enter和leave时我们完全自定义的样式名。
如果向调用animate.css库只需要改写html
如下:
<transition name="fade"
enter-active-class="animated bounce"
leave-active-class="animated bounce"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
bounce未调用的动画名。提示前面必须加animated。
具体想要使用什么动画请看animate.css官网
提示:如果想要在页面初始化时播放动画需要添加appear和appear-active-class
<transition name="fade"
appear
enter-active-class="animated shake"
leave-active-class="animated bounce"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
三、过度效果和动画效果混用
例子如下:
<style>
@keyframes myfade{
from{opacity: 0}
to{opacity: 1}
}
.fade-enter,.fade-leave-to{
opacity: 0;
}
.fade-enter-active,.fade-leave-active{
transition: opacity 3s;
}
</style>
</head>
<body>
<div id="app">
<transition name="fade"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>
</body>
警告:此时opacity过渡动画是3秒,animate.css动画未1秒,执行时间不统一。
解决方法:添加type属性如
type="transition" 以过度效果执行时间执行
type="animation"以动画效果执行时间执行
<transition name="fade" type="transition"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>
2.自定义动画时间
:duration="时长(毫秒)"一般定义
:duration="{enter:1000,leave:2000}"//分别定义出场和入场时长
<transition name="fade" :duration="10000"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
Vue过渡动画—Vue学习笔记的更多相关文章
- (学习心路历程)Vue过渡/动画  VS.  过渡/动画
		
[此篇为本人的个人见解和哔哔赖赖,如果有观点不对的地方,还请大家指出来哇!!] 最近实习在做一个项目,里面应用的动画效果还蛮复杂的,因为本身对Vue框架比较熟悉,所以最终选择了Vue框架. 自己之前从 ...
 - Vue.js 源码学习笔记
		
最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...
 - vue过渡动画
		
概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.c ...
 - vue过渡动画效果
		
1 过渡基础 1.1 过渡的方式 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果. 包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS ...
 - vue过渡 & 动画---进入/离开 & 列表过渡
		
(1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...
 - Vue过渡动画运用transition
		
vue的过渡动画,主要是transition标签的使用,配合css动画实现的.官方文档css过渡 通过点击事件来切换show的值来改变显示的文本,下面的css通过进入离开时的在匀速状态下xxs(秒)下 ...
 - Vue.js 第3章 axios&Vue过渡动画
		
promise 它将我们从回调地狱中解脱出来 创建和使用 var fs = require('fs') // 创建promise // reslove表示执行成功后调用的回调函数 // reject表 ...
 - vue 过渡 & 动画
		
过渡 & 动画 过渡动画 用css先定义好动画效果 .a-enter-active, .a-leave-active { transition: all 1.5s; } .a-enter, . ...
 - vue过渡动画样式
		
在进入/离开的过渡中,会有 6 个 class 切换. v-enter:定义进入过渡的开始状态.在元素被插入之前生效,在元素被插入之后的下一帧移除. v-enter-active:定义进入过渡生效时的 ...
 
随机推荐
- 代理设计模式 (静态代理设计模式)+  动态代理(JDK和Cglib)
			
一.代理设计模式 1.设计模式:前人总结一套解决特定问题的代码 2.代理设计模式优点: 2.1 保护真实对象 2.2 让真实对象职责更明确 2.3 扩展 3.代理设计模式 3.1 真实对象(老总) 3 ...
 - (10)The secret to great opportunities? The person you haven't met yet
			
https://www.ted.com/talks/tanya_menon_the_secret_to_great_opportunities_the_person_you_haven_t_met_y ...
 - VC调试小结
			
本机调试F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出F9: 设置(取消)断点Outpu ...
 - java Concurrent包学习笔记(三):ReentrantLock
			
一.可重入性的理解 从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大.两者都是同一个线程每进入一次,锁 ...
 - 引用限定符(c++11)
			
1.概念 1)下面这种情况将对一个右值调用成员函数.对右值赋值 string s1 = "abc", s2 = "def"; auto n = (s1 + s2 ...
 - MySQL API函数
			
MySQL提供了很多函数来对数据库进行操作,大致可以分为以下几类: 第一部分 控制类函数 mysql_init()初始化MySQL对象 mysql_options( ...
 - excel中vba求摩尔圆包线
			
Dim f As Double, f1 As Double, f2 As Double, df As Double, oxy() As Double, R() As Double, k As Doub ...
 - new命令简化的内部流程
			
构造函数返回对象的一些问题: function fn(name,age){ this.name = name; this.age = age; //return 23; 忽略数字,直接返回原有对象 / ...
 - 学python之路前的一些话
			
为什么学python: 这些年一直从事运维相关的工作.但做下来感觉都是些很基础的东西,无非就是对一些命令或者问题处理很熟练而已,混的都是经验.曾很羡慕会写shell脚本,会自动化安装程序的运维组组长, ...
 - js动态删除某一行,内容超出单元格后超出的部分用省略号代替
			
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <s ...