Vue2-动画

1.transition过渡 | 用transition CSS做动画

Vue-transition文档:进入/离开 & 列表过渡 — Vue.js

[用transition做CSS动画]Enter状态:JS Bin - Collaborative JavaScript Debugging 


Leave状态:JS Bin - Collaborative JavaScript Debugging 

 2. animation过渡 | 用 animation 和三方库 CSS做动画

用animation做CSS动画: JS Bin - Collaborative JavaScript Debugging

引用第三方库CSS动画:Animate.css | A cross-browser library of CSS animations. 

[三方库动画]JS Bin - Collaborative JavaScript Debugging

3.JavaScript钩子过渡 | 用 JavaScript钩子 和三方库做动画

 JS动画三方库Velocity.js :Velocity.js

transition中使用v-on监听JS钩子的dom动画事件,配合三方库JS动画函数,实现JS钩子做动画的效果。

 4.多元素过渡

多元素动画-轮播:JS Bin - Collaborative JavaScript Debugging

##思路:
#多个单元素-绑定不同key做过渡
#动态组件-变量绑定实现多元素动画

/* HTML -轮播效果 */
<body>
  <div id="example-4">
  <!-- /* transition默认 进入/离开 同时发生,mode过渡模式动画依次执行 */ -->
  <transition name="fade" mode="out-in">
    
    <!-- /* 相同标签名需要用不同key值进行区分 */ -->
    <button v-if="status === 'on'" key="on"
            @click="status = 'off'">on</button>
    <button v-else key="off"
            @click="status = 'on'">off</buttun>
</transition>
</div>
</body>

/* CSS */
.fade-enter-active,
.fade-leave-active{
  transition: all 1s
}
.fade-enter{
  opacity: 0.1
  transform: translateX(100px)
}
.fade-leave-to{
   opacity: 0;
   transform: translateX(-100px)
}
#example-4{
  position: relative;
  padding: 100px
}
button{
  position: absolute;
}

/* JS */
new Vue({
  el:"#example-4",
  data:{
    status: "on"
  }
})

 动态组件:JS Bin - Collaborative JavaScript Debugging

5.列表过渡 

列表过渡渲染: JS Bin - Collaborative JavaScript Debugging

通过<transition-group>组件和 v-for (必须直接配合,中间不能添加其他标签)配合使用渲染每个列表动画(每个item都需要绑定不同的key) 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值