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

143
Vistas
aplicar dinámicamente la animación de fotogramas clave css/sass

Tengo una brújula, y esta animación hace que la aguja de la brújula gire de un lado a otro un poco como una real. Por ejemplo, si apuntara a 30 grados, aplicaría esto. +10 y -10.

 @keyframes spin { 0% { transform: rotate( 40deg ); } 50% { transform: rotate( 20deg ); } 100% { transform: rotate( 40deg ); } }

Con estas propiedades

 animation-iteration-count: infinite; animation-duration: 1s; animation-timing-function: ease-in-out;

El problema es que solo sé el grado después de calcularlo en javascript, por lo que será necesario aplicar un estilo o clase con js.

Mi primera idea es redondear el grado al 10 más cercano para poder aplicarle una de estas animaciones. En el peor de los casos, habrá 5 grados fuera. Podría hacerlo con 1 grado de precisión si no fuera mucho estrés para el cliente.

 $divisions: 36; @for $i from 0 through $divisions { $value: ( 360 / $divisions ) * $i; @keyframes spin#{ $value } { 0% { transform: rotate( #{ $value + 10 }deg ); } 50% { transform: rotate( #{ $value - 10 }deg ); } 100% { transform: rotate( #{ $value + 10 }deg ); } } }

Declara 36 animaciones de fotogramas clave diferentes. Intento aplicar un estilo en línea de nombre de animación: spin40; (Redondeado al 10 más cercano), pero eso no funciona. Supongo que el nombre de la animación no funciona como un estilo en línea.

Podría declarar una clase en el mismo bucle y aplicar esa clase en línea, pero también estoy leyendo esto, es una muy mala idea. Y probablemente sea una mala práctica declarar 36 animaciones.

Pensé que tal vez podría hacerlo en una mezcla, pero realmente no puedo, porque aún se compilaría en 36 animaciones diferentes.

¿Cuál es la mejor manera en que puedo hacer esto, por favor, muchas 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