gsap简单使用

gsap

GSAP 是一个强大的 JavaScript 工具集,让大家秒变动画大佬。构建适用于所有主流浏览器的高性能动画。动画 CSS、SVG、画布、React、Vue、WebGL、颜色、字符串、运动路径、通用对象… JavaScript 可以触摸的任何东西!GSAP 的ScrollTriggeropen in new window插件让您可以用最少的代码创建滚动动画。

安装引入
  1. 安装

    // npm、pnpm安装
    npm install gsap
    // yarn安装
    yarn add gsap
    
  2. 引入

    import gsap from "gsap";
    
创建动画
  • 语法 gsap.Methods(target,variables)

    • Methods:动画方式
    • target:参与动画的元素
    • variables:参数配置
  • 动画方式:.to()、.from().fromTo().set()

    • gsap.to() :最常使用的,元素从当前状态到定义状态的动画

      gsap.to(".box", { x: 200 })
      

      请添加图片描述

    • gsap.from() :与 gsap.to() 相反,元素从定义状态到初始状态的动画

      gsap.from(".box", { x: 200 })
      

      请添加图片描述

    • gsap.fromTo() :定义开始动画和结束动画

      gsap.fromTo(".box", { x: -40, backgroundColor: 'blue', }, { x: 40, backgroundColor: 'green' });
      

      请添加图片描述

    • gsap.set() :直接到定义的结束状态、无动画

      gsap.set(".box", { x: 200 })
      

      请添加图片描述

变量参数
  • target获取

    • 使用选择器或者获取的dom元素,甚至一个包含多个dom元素数组

      gsap.to(".box",{x:20});
      
      let box = document.querySelector(".box");
      gsap.to(box,{x:20});
      
      let box1 = document.querySelector(".box1");
      let box2 = document.querySelector(".box2");
      gsap.to([box1,box2],{x:200});
      
    • css属性(驼峰写法)

      gsap.to(".box", { 
        duration: 2,
        backgroundColor: '#8d3dae',
      });
      

      GSAP属性和css动画属性对应表

      请添加图片描述
      特殊属性
      请添加图片描述

    • js对象属性

      let obj = { x: 0, position: 0 }
      
      gsap.to(obj, {
          position: 200,
          duration: 2,
      })
      
  • ease参数配置

    • none 没有任何easing效果,匀速完成动画

    • Ease Types类型 :in out inout

      ease: "power1.in"
      // 从慢到快, 像重物落下
      
      ease: "power1.out"
      // 开始快,结束慢,就像一个滚动的球慢慢停下来
      
      ease: "power1.inOut"
      // 开始慢,中间快,结束慢,就像汽车加速和减速一样
      
      
    • 示例 power1、power2、power3、power4、back
      请添加图片描述

    • 更多官网效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值