INNER CODE UNIT · JavaScript

reveal

mario-andreschak/FLUJO · githubpages/short/app.js:279

  function reveal(el, local, at, duration = .8, options = {}) {
    const {
      x = 0,
      y = 22,
      scale = .92,
      rotate = 0,
      blur = 5,
      exitAt = Infinity,
      exitDuration = .5,
    } = options;
    const enter = easeOut(invLerp(at, at + duration, local));
    const exit = exitAt < Infinity ? 1 - smoothstep(invLerp(exitAt, exitAt + exitDuration, local)) : 1;
    const p = enter * exit;
    el.style.opacity = p.toFixed(4);
    el.style.transform = mixTransform(lerp(x, 0, enter), lerp(y, 0, enter), lerp(scale, 1, enter), lerp(rotate, 0, enter));
    el.style.filter = `blur(${lerp(blur, 0, enter)}px)`;
    return p;
  }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…