Vue2.0的动画效果
本文只是结合一些代码和图片加强对Vue动画的理解,更多资料请戳这里
结合原生CSS实现动画
下面是一张图片,简单清晰明了是吧^-^
下面是一段代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .show-enter-active,.show-leave-active{ transition: all 0.4s ease; padding-left: 10px; } .show-enter,.show-leave-active{ padding-left: 100px; } </style> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="app"> <button @click="toggle">点击隐藏和显示</button> <transition name="show"> <h3 v-show="isshow">{{message}}</h3> </transition> </div> <script> new Vue({ el: '#app', data: { message:"hello Vue!", isshow:false }, methods:{ toggle:function(){ this.isshow = !this.isshow; } } }) </script> </body> </html>
结合animate.css实现动画
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="http://apps.bdimg.com/libs/animate.css/3.1.0/animate.min.css" /> <style> .show{ transition: all 0.4s ease; } </style> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="app"> <button @click="toggle">点击隐藏和显示</button> <transition enter-active-class="fadeInRight" leave-active-class="fadeOutRight"> <div v-show="isshow" class="animated" class="show">{{message}}</div> </transition> </div> <script> new Vue({ el: '#app', data: { message:"hello Vue!", isshow:false }, methods:{ toggle:function(){ this.isshow = !this.isshow; } } }) </script> </body> </html>
使用钩子函数实现动画效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .show{ transition: all 0.4s ease; } </style> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="app"> <button @click="toggle">点击隐藏和显示</button> <transition @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter"> <div v-show="isshow" class="show">{{message}}</div> </transition> </div> <script> new Vue({ el: '#app', data: { message:"hello Vue!", isshow:false }, methods:{ toggle:function(){ this.isshow = !this.isshow; }, beforeEnter:function(el){ //定义当前实现动画的初始位置 el.style.transform = "translate(100px,0)"; }, enter:function(el,done){ //设置一下刷新状态 el.offsetWidth; //设置动画的结束位置 el.style.transform = "translate(0px,0)"; //手动调用一下done方法,由这个方法去决定动画是否结束了 //否则动画的消失会有延迟 done(); }, afterEnter:function(el){ //将动画的状态复原设置 this.isshow = !this.isshow; } } }) </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?