Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
Realice la animación de texto dividiendo el texto, pero conserve los saltos de línea

Creé una función que mapea una oración (proporcionada por un CMS) y agrega contenedores a cada palabra. Dividir cada palabra en espacios.

Ahora, algunas palabras requerirán saltos de línea, pero mi función los está borrando, y no estoy muy seguro de cómo voy a retener los saltos de línea en este caso.

La siguiente demostración muestra el problema que tengo. El segundo, aunque originalmente tiene un salto de línea, lo elimina cuando se ejecuta la función.

Cualquier idea o consejo de cómo retener los frenos será apreciado. A los efectos de mis animaciones, cada palabra requerirá el marcado en el valor de retorno de $reformatedText

 let $textAreaContent; let $splitText; let $reformatedText; let $delayTime; let $delayValue; let $textAreas = document.querySelectorAll('.stagger-text'); function setDelayValue(curCount) { $delayTime = 0.075; return parseFloat(curCount * $delayTime).toFixed(3); } function createStaggerContainers($textArea) { $textAreaContent = $textArea; $splitText = $textAreaContent.innerText.split(/\s|<br>/g); $reformatedText = $splitText.map((item, i, arr) => { $delayValue = setDelayValue(i); return `<span class="stagger__container"> <span class="stagger__text" style="animation-delay: ${$delayValue}s">${arr.length - 1 === i ? item : `${item}&nbsp;`}</span> </span>`; }).join(''); $textAreaContent.innerText = ''; $textAreaContent.innerHTML = $reformatedText; } if ($textAreas && $textAreas.length) { $textAreas.forEach(($textArea) => { createStaggerContainers($textArea); }); }
 <div class="stagger-text">Some text here</div> <div class="stagger-text">This has line<br> breaks</div>

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda