vue怎麼實現動畫效果?以下這篇文章帶大家簡單了解Vue封裝的過度與動畫,希望對大家有幫助!
1.作用
在插入,更新,移除DOM元素時,在適當的時候為元素添加樣式類別名稱。
2.寫法
準備好樣式:元素進入的樣式
<template> <div> <button @click="isShow = !isShow">隐藏展示</button> <transition name="hidden" appear> <h1 v-show="isShow">隐藏展示</h1> </transition> </div> </template> <script> export default { name: "Test", data() { return { isShow: true }; } }; </script> <style scoped> h1 { background-color: orange; } .hidden-enter-active { animation: shanyu 1s; } .hidden-leave-active { animation: shanyu 1s reverse; } @keyframes shanyu { from { transform: translateX(-100%); } to { transform: translateX(0px); } } </style>
3.樣式
需要先有這個animate.css哦
npm i animate.css
#1.v-enter:進入的起點
2.v-enter-active:進入過程中
#3 .v-enter-to:進入的終點
<template> <div> <button @click="isShow = !isShow">隐藏展示</button> <transition-group name="shanyu" appear> <h1 v-show="isShow" key = '1'>隐藏展示</h1> <h1 v-show="isShow" key = '2'>隐藏展示</h1> </transition-group> </div> </template> <script> export default { name: "Test2", data() { return { isShow: true }; } }; </script> <style scoped> h1 { background-color: rgb(139, 37, 255); } /* 进入的起点,离开的起点 */ .shanyu-enter, .shanyu-leave-to { transform: translateX(-100%); } .shanyu-enter-active,.shanyu-leave-active{ transition: .5s linear; } /* 进入的终点离开的终点 */ .shanyu-enter-to, .shanyu-leave { transform: translateX(0); } </style>
元素離開的樣式:
#1.V-leave:離開的起點
2.V-leave-active :離開過程中
3.V-leave-to:離開的終點
4.使用300ff3b250bc578ac201dd5fb34a0004包裹要過度的元素,並配置name屬性
<transitionname="hello"> <h1v-show=" isShow">你好啊! </h1> </transition>
備註:若有多個元素需要過度,則需要使用: 5c8969d1376a171e8b0ec4a1c01f185d, 且每個元素都要指定key值。
<transition-group name="shanyu" appear> <h1 v-show="isShow" key = '1'>隐藏展示</h1> <h1 v-show="isShow" key = '2'>隐藏展示</h1> </transition-group>
以上是淺析vue怎麼實現動畫效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!