<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="../vue.js"></script>
<style>
/*
v-enter 這是進入之前;元素的起始狀態;此時還沒有開始進入
v-leave-to 是動畫離開之后;離開的終止狀態;此時元素的動畫已經結束
.v-enter-active 入場動畫的時間段
.v-leave-active 離場動畫的時間段
*/
h3 {
width: 200px;
}
.v-enter,
.v-leave-to {
opacity: 0.8;
/* 說明起始狀態是在右側80px處的 */
transform: translateX(200px);
}
.v-enter-active,
.v-leave-active {
transition: all 0.6s ease;
}
</style>
</head>
<body>
<div id="app">
<input type="button" value="toggle" @click="toggle">
<transition>
<!-- transition是vue官方提供的 使用transition元素 把需要被動畫控制的元素 包裹起來哦 -->
<h3 v-show="flag">這是內容</h3>
</transition>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
flag: false
},
methods: {
toggle() {
this.flag = !this.flag;
}
},
})
</script>
</body>
</html>
<style>
/* v-enter 這是進入之前 元素的起始狀態 此時還沒有開始進入
v-leave-to 是動畫離開之后 離開的終止狀態 此時 元素的動畫已經結束
.v-enter-active 入場動畫的時間段
.v-leave-active離場動畫的時間段
*/
.my-enter,.my-leave-to{
opacity: 0;
transform: translateY(80px);
}
.my-enter-active,.my-leave-active{
transition: all 0.6s ease;
}
</style>
<div id="app">
<input type="button" value="toggle2" @click="toggle">
<transition name="my"> <!-- 這就是自定義的前綴名稱 表示my開發實現自定義的動畫-->
<!-- transition是vue官方提供的 使用transition元素 把需要被動畫控制的元素 包裹起來哦 -->
<h3 v-if="flag2">這是內容</h3>
</transition>
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
flag:false,
flag2:false
},
methods: {
toggle(){
this.flag2=!this.flag2;
}
},
})
</script>
