当前阅读教程:Vue.JS入门教程 > 自定义过渡的类名 | |
阅读(22555525) 收藏 赞(5685) 分享 | |
上一篇: CSS 动画 | 下一篇: JavaScript 钩子 |
我们可以通过以下特性来自定义过渡类名: l enter-class l enter-active-class l enter-to-class (2.1.8+) l leave-class l leave-active-class l leave-to-class (2.1.8+) 自定义过渡的类名优先级高于普通的类名,这样就能很好的与第三方(如:animate.css)的动画库结合使用。
实例 <div id = "databinding"> <button v-on:click = "show = !show">点我</button> <transition name="custom-classes-transition" enter-active-class="animated tada" leave-active-class="animated bounceOutRight" > <p v-if="show">黄菊华教程 -- 学的不仅是技术,更是梦想!!!</p> </transition> </div> <script type = "text/javascript"> new Vue({ el: '#databinding', data: { show: true } }) </script> 默认效果图 点击按钮后,文字部分执行动画后消失。 同时使用过渡和动画Vue 为了知道过渡的完成,必须设置相应的事件监听器。它可以是 transitionend 或 animationend ,这取决于给元素应用的 CSS 规则。如果你使用其中任何一种,Vue 能自动识别类型并设置监听。 但是,在一些场景中,你需要给同一个元素同时设置两种过渡动效,比如 animation 很快的被触发并完成了,而 transition 效果还没结束。在这种情况中,你就需要使用 type 特性并设置 animation 或 transition 来明确声明你需要 Vue 监听的类型。 显性的过渡持续时间在很多情况下,Vue 可以自动得出过渡效果的完成时机。默认情况下,Vue 会等待其在过渡效果的根元素的第一个 transitionend 或 animationend 事件。然而也可以不这样设定——比如,我们可以拥有一个精心编排的一系列过渡效果,其中一些嵌套的内部元素相比于过渡效果的根元素有延迟的或更长的过渡效果。 在这种情况下你可以用 <transition> 组件上的 duration 属性定制一个显性的过渡持续时间 (以毫秒计):
<transition :duration="1000">...</transition> 你也可以定制进入和移出的持续时间: <transition :duration="{ enter: 500, leave: 800 }">...</transition>
|
|
上一篇: CSS 动画 | 下一篇: JavaScript 钩子 |