vue动画实现方式
2024-08-31 10:36:14
vue动画实现方式
<!DOCTYPE html>
<html lang="zh-cn"> <head>
<meta charset="utf-8">
<link rel="stylesheet" href="animate.css">
<style>
* {
margin: 0;
padding: 0;
}
#app{
width: 600px;
margin: 100px auto;
}
.box {
width: 200px;
height: 200px;
background-color: pink;
display: flex;
justify-content: center;
align-items: center;
} button {
width: 50px;
height: 30px;
}
/* 第二步 定义入场动画 和 出场动画 */
/* 格式: 动画名-enter 入场动画*/
/* 格式: 动画名-leave 出场动画*/
/* 进入过渡开始时的状态和离开过渡结束时的状态 */
.fade-enter,.fade-leave-to{
opacity: 0;
transform:translate(500px, 0);
}
/* 进入过渡中的效果和离开过渡中的效果 */
.fade-enter-active,.fade-leave-active{
transition: all 0.8s;
}
/* 进入过渡结束时的状态和离开过渡结束时的状态 */
.fade-enter-to,.fade-leave{
opacity: 1;
} .bounce-enter-active{
animation: bounce-in .5s;
}
.bounce-leave-active {
animation: bounce-in .5s reverse;
}
@keyframes bounce-in{
0% {
transform: scale(0);
}
50% {
transform: scale(1.5);
}
100% {
transform: scale(1);
}
}
.pp{
background-color: #c05;
}
</style>
</head> <body>
<div id="app">
<!-- 1.过渡 -->
<button @click="isShow = !isShow">过渡</button>
<!-- 第一步给要动画的元素 起个动画名子 -->
<!-- 格式: name=动画名 -->
<transition name="fade" :duration="3000">
<p class="box" v-show="isShow">我要过渡</p>
</transition>
<hr>
<!-- 2.动画 -->
<button @click="isShow2 = !isShow2">动画</button>
<!-- 第一步给要动画的元素 起个动画名子 -->
<!-- 格式: name=动画名 -->
<transition name="bounce" :duration="{ enter: 1000, leave: 1800 }">
<p class="box" v-if="isShow2">我要运动</p>
</transition>
<!-- 3.自定义过渡 类名 -->
<button @click="show = !show">自定义</button>
<transition
enter-active-class="animated tada"
leave-active-class="animated bounceOutRight"
>
<p v-if="show" class="pp">hello</p>
</transition> </div> <script src="velocity.js"></script>
<script src="vue.js"></script>
<script>
var vm = new Vue({
data: {
isShow: true, //过渡
isShow2:true, //动画
show:true,
},
methods: { }
}).$mount('#app'); </script>
</body> </html>
最新文章
- [LeetCode] Palindrome Partitioning II 拆分回文串之二
- jQuery组件开发之表格隔行选中效果实现
- VC6.0中友元函数无法访问类私有成员的解决办法
- oracle 身份证校验函数
- Android拓展系列(10)--使用Android Studio阅读整个Android源码
- 基于ARM-LINUX的温度传感器驱动(DS18B20) .
- PinchEvent QML Type
- 【stm32】用TIM1产生6路ADC,用CCR4触发ADC1的注入通道采样
- Windows Store 应用
- 什么是C/S模式与B/S模式,两者区别与优缺点
- 章节四、4-For循环
- GCH实践经验
- day 5,格式化输出,for,while, break,continue,列表
- php null
- python 如何在一个.py文件中调用另一个.py文件的类
- Sublime 官方安装方法
- Python:高效计算大文件中的最长行的长度
- ubuntu16.04安装ssh服务,并实现远程访问
- Cat VS Dog HDU - 3829 (最大独立集 )
- MyBean-关于plugMap共享对象