03-CSS动画(animation、velocity)

一、animation的用法

(css版)animation: name duration timing-function delay iteration-count direction;
(js版)object.style.animation="name duration timing-function delay iteration-count direction"

animation:mymove 5s infinite;
解析(mymove☞animation-name,5s☞animation-duration,infinite☞animation-iteration-count。)

@keyframes mymove
{
from {left:0px;}      
from{background:#000;top:10px;}
to {left:200px;}     
to{background:#fff;top:10px}改变颜色位置不变。(亲测有效)
}

二、velocity的用法

http://shouce.jb51.net/velocity/index.html
首先,相较于css的animation动画来说,Velocity 是一个简单易用、高性能、功能丰富的轻量级JS动画库。性能高于CSS3 animation,并支持所有的现代浏览器。

语言背景:vue

首先引入script或者npm install安装

  <script src="../lib/velocity.min.js"></script>
  npm install velocity-animate

demo1:vue的内置组件<transition>和velocity结合

<template>
  <div>
    <transition
            @before-enter="beforeEnter"
            @enter="enter"
            @leave="leave"
          >
        <div>示例demo1</div>
    </transition>
</template>

<script>
import Velocity from "velocity-animate";
export default {
  beforeEnter: function(el) {
      el.style.opacity = 0;
      el.style.minHeight = 0;
    },
  enter: function(el, done) {
      Velocity(
        el,
        { opacity: 1, height: "50%" },
        { complete: done, duration: 2000, delay: 1000 }
      );
    },
    // 点完之后继续显示2秒之后再离开
    leave: function(el, done) {
      Velocity(
        el,
        { opacity: 0.3, height: 0 },
        { complete: done, duration: 1000 }
      );
    },
}
</script>

demo2:根据文档走向,

<template>
  <div
      class="flower"
      ref="flower"
       >
  <!-- 手 -->
       <div class="hand"></div>
   </div>
</template>

<script>
import Velocity from "velocity-animate";
export default {
  preload: function() {
      // 太阳花动态
      Velocity(
        this.$refs["flower"],
        {
          translateX: 0,
          translateY: 0,
          scale: 1,
          opacity: 1
        },
        {
          duration: 2000,
          easing: "easeOutQuard",
          loop: 1,
          complete: () => {}
        }
      );
     // this.loadMusic();
    },
}
</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。