Jump to content
Search Community

singlexyz

Members
  • Posts

    10
  • Joined

  • Last visited

Posts posted by singlexyz

  1. 3 hours ago, Rodrigo said:

    It should be as simple as this:

    let isFlipped = false;
    
    function demo(ease, duration, delay) {
      const state = Flip.getState(".small, .large");
      document.body.classList.toggle("active");
      Flip.from(state, {
        absolute: true,
        ease,
        duration,
        delay,
        zIndex: 10,
        fade: true,
        onComplete() {
          isFlipped = !isFlipped;
          isFlipped ? demo("power2.out", 1, 1) : demo("power3.inOut", 0.5, 0.5);
        }
      });
    }
    
    demo("power3.inOut", 0.5, 0);

    Hopefully this helps.

    Happy Tweening!

    Hi, thank you for your reply.

    I may have caused some confusion because I wrote the English in translation.

     

    What I actually want is to specify different ease and duration for the opacity within it.

     

    After reviewing the documentation, I found a method in a demo that allows passing custom parameters.

    See the Pen bGjXGeX by GreenSock (@GreenSock) on CodePen

      let customVars = {
        x: { ease: "power3.in", delay: 1, duration: 1 },
        y: { ease: "power1" }
      };
    
      Flip.from(state, {
        duration: 2,
        custom: customVars
      });
    • Like 1
  2. css clip-path property has multiple values in a declaration.

     

    .el { clip-path: inset(10% 20%); }

     

    like above, how to animate 10%part and 20% part in  different ease or duration ?

     

    just like 10% use 1s duration, and 20% use 2s.

     

    I could and a parent element, then animate with child same time.

    or animate two object then update the clip-path.

     

    but has any function built-in can do that? 

    See the Pen WNGBVzE by nayuxuohz (@nayuxuohz) on CodePen

  3. Hi, friends. I found out a animation way: https://developers.google.com/web/updates/2017/03/performant-expand-and-collapse

     

    They call it  counter-transform, the parent element scale down, and the child element scale up

    it can make a smooth animation to change to different aspect ratio.

     

    But the question is, because the parent and child element scale in SAME time

    so the timing function can't be use regular, in article above, they use javascript to generator css keyframes animation.

     

    Then I thought of ExpoScaleEase, I use it on code,like:

    timeline
    	.fromTo(container, { scaleX: 1 }, { scaleX: delta.scaleX, ease: `expoScale(1, ${delta.scaleX})` })
    	.fromTo(container, { scaleY: 1 }, { scaleY: delta.scaleY, ease: `expoScale(1, ${delta.scaleY})` }, '<')
    	.fromTo(image, { scaleX: 1 }, { scaleX: 1 / delta.scaleX, ease: `expoScale(1, ${1 / delta.scaleX})` }, '<')
    	.fromTo(image, { scaleY: 1 }, { scaleY: 1 / delta.scaleY, ease: `expoScale(1, ${1 / delta.scaleY})` }, '<')

     

    The parent and child is actually  doing animation

    But their animations neutralize each other, Looks no animation

     

    Can gsap had the ease plugin to solve it now?

    generate css keyframes animation is so...

     

    See the Pen yLOoZEm by nayuxuohz (@nayuxuohz) on CodePen

×
×
  • Create New...