zoukankan      html  css  js  c++  java
  • react-hook的简单的动画插件react-simple-animate(其实是react插件,但是这里只介绍react-hook的简单用法)

    1、useAnimate(普通anima动画的形式)

    (1)js

      const animate = useAnimate({
        complete: { display: 'none' },  //动画完成的css
        easeType: "linear", //动画的表现
        duration: 5,  //动画时长
        start: { opacity: 0 },  //动画开始
        end: { opacity: 1 },  //动画结束
        onComplete: () => { //动画结束的方法
          console.log('complete')
        }
      })
    

    (2)dom

      <div style={animate.style}>123</div>
    

    (3)动画播放方法

    animate.play(true)
    

    2、useAnimateKeyframes(关键帧动画的形式)

    (1)js

      const animateFrames = useAnimateKeyframes({
        iterationCount: 'infinite', //动画循环方式
        direction: 'alternate', //动画方向
        duration: 5,  //时长
        keyframes: [    
          'transform: rotateX(0) rotateY(0) rotateZ(0)',
          'transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg)',
        ]
      })
    

    (2)其余与上面相同,只是在原来就有play方法的前提下多了一个pause的方法

    3、useAnimateGroup(数组的形式)

    (1)js

      const items = ['R', 'E', 'A', 'C', 'T']
      const animateGroup = useAnimateGroup({
        sequences: items.map(() => ({
          start: { opacity: 1, transform: 'translateY(0)' },
          end: { opacity: 0, transform: 'translateY(-10px)' }
        }))
      })
    

    (2)整体与anima方式相同,就是以数组的形式,就是变为"styles"

    注意:在方法中包装了isPlaying和setIsPlaying,所以如果一个方法中包含多个动画,会产生互相影响(关键帧动画同理,isPaused和setIsPaused)

  • 相关阅读:
    健壮性与可靠性
    invoke与call
    协变性和逆变性
    枚举类型和位标记
    MacOs mysql 安装
    scp -本地文件上传服务器,指定端口
    java中的无穷大和无穷小
    calendar类-时间处理类
    linux 下ln命令--笔记
    hdfs 文件系统命令操作
  • 原文地址:https://www.cnblogs.com/huangqiming/p/11884467.html
Copyright © 2011-2022 走看看