Mini curso · 07

Texto que se descifra

Las letras giran al azar hasta revelar la palabra: el clásico efecto “decodificando” tipo hacker. Se hace con un setInterval y un poco de aleatoriedad.

JavaScriptsetInterval Dificultad media⏱ 6 min

Pulsa "Descifrar" (o pasa el mouse por el texto) 👇

MICRO.LAB

La idea

En cada “tick” de un temporizador, reconstruimos el texto: las letras que ya “llegaron” se muestran bien, y las que faltan muestran un símbolo al azar. Con cada tick avanza una letra más, hasta que todo queda revelado.

texto = letras.map((ch, i) =>
  i < avance ? ch : glifoAzar()
).join('');

El JavaScript completo

Un setInterval corre cada 40ms (el slider) y va subiendo avance. Cuando pasa el largo de la palabra, paramos.

const glifos = '!<>-_/[]{}=+*?#';
let f = 0;
const timer = setInterval(() => {
  h.textContent = [...final].map((ch, i) =>
    i < f / 3 ? ch : glifos[Math.random() * glifos.length | 0]
  ).join('');
  if (f / 3 > final.length) { clearInterval(timer); h.textContent = final; }
  f++;
}, 40);

Los dos detalles clave

Listo 🔓

Este efecto queda genial en títulos, contadores o al revelar un email. Sube la velocidad para un look más frenético.