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

256
Vistas
¿Cómo obtengo la posición en medio de una animación CSS?

Así que estoy creando un sitio web de música con un cabezal de reproducción que he animado para que se mueva a lo largo de la pantalla y retroceda.

 .playhead { position: absolute; border-left: 0.2em solid; min-height: calc(100% - var(--display-border-width)); border-color: red; animation: play-animation 4s linear infinite; } @keyframes play-animation { 0% { left: 0%; } 100% { left: 100% } }

Ahora, mientras se mueve el cursor de reproducción, quiero acceder a su valor de posición, o qué tan lejos está de la pantalla ( offsetX ), para poder tocar las notas o lo que sea en esa posición.

Entonces, si está en la mitad de la pantalla y la pantalla tiene 1000 px de ancho, quiero acceder al valor de 500 px durante la animación.

Intenté usar useEffect y useRef juntos, pero solo se llama cuando la animación se detiene o comienza, pero no mientras se está ejecutando. Entonces el valor permanece igual durante la animación.

Intenté configurar un setInterval separado solo para calcular la posición, así:

 useEffect(() => { if (props.play) { const markers = (playTime * 1000) / frameRate; const percentToAdd = 100 / markers; const id = setInterval(() => {setProgress((prev) => (prev + percentToAdd) % 100)}, frameRate); setIntervalID(id); } else { if (intervalID !== 0) { clearInterval(intervalID); } } }, [props.play]);

Pero esto no está sincronizado por alguna razón. Y además, prefiero que los valores de posición provengan directamente del cursor de reproducción.

¿Hay alguna manera de hacer esto? ¡Gracias!

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