Animations/Flip Words

Flip Words

Mots qui se retournent et cyclent avec animation slide. Ideal pour les headlines dynamiques.

autoJStextcyclehero
Trigger: Automatique (boucle)
CSS requis: Non
Difficulte: easy

Preview live

Code

"use client";
import { useState, useEffect } from "react";

const words = ["beautiful", "modern", "amazing", "creative"];

export default function FlipWords() {
  const [index, setIndex] = useState(0);
  const [animating, setAnimating] = useState(false);

  useEffect(() => {
    const timer = setInterval(() => {
      setAnimating(true);
      setTimeout(() => {
        setIndex((i) => (i + 1) % words.length);
        setAnimating(false);
      }, 300);
    }, 3000);
    return () => clearInterval(timer);
  }, []);

  return (
    <span style={{
      display: "inline-block",
      transform: animating ? "translateY(-20px)" : "translateY(0)",
      opacity: animating ? 0 : 1,
      transition: "transform 0.3s, opacity 0.3s",
    }}>
      {words[index]}
    </span>
  );
}

Instructions

Les mots cyclent avec un slide vertical + fade. Ajustez l'intervalle (3000ms), la vitesse de transition (0.3s) et le translateY (-20px). Passez les mots en props pour rendre le composant reutilisable.