87 votes

Comment empêcher l'animation css3 de se réinitialiser une fois terminée ?

J'écris une animation css3 et elle n'est exécutée qu'une seule fois. L'animation fonctionne bien, mais elle se réinitialise lorsque l'animation est terminée. Comment puis-je éviter cela, je veux garder le résultat au lieu de le réinitialiser.

$(function() {
  $("#fdiv").delay(1000).addClass("go");
});

#fdiv {
  width: 10px;
  height: 10px;
  position: absolute;
  margin-left: -5px;
  margin-top: -5px;
  left: 50%;
  top: 50%;
  background-color: red;
}

.go {
  -webkit-animation: spinAndZoom 1s 1;
}

@-webkit-keyframes spinAndZoom {
  0% {
    width: 10px;
    height: 10px;
    margin-left: -5px;
    margin-top: -5px;
    -webkit-transform: rotateZ(0deg);
  }
  100% {
    width: 400px;
    height: 400px;
    margin-left: -200px;
    margin-top: -200px;
    -webkit-transform: rotateZ(360deg);
  }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<div id="fdiv"></div>

Voici le Démo .

152voto

Eric Hotinger Points 8452

Ajouter animation-fill-mode: forwards;

à votre .go

L'image clé finale de l'animation continue de s'appliquer après la fin de la dernière itération de l'animation.

http://css-infos.net/property/-webkit-animation-fill-mode

5voto

maqjav Points 1501

Ajoutez le style suivant à votre feuille de style :

.go {
     /* Already exists */
     -webkit-animation: spinAndZoom 1s 1;

     /*New content */
     -webkit-animation-fill-mode: forwards;
 }

3voto

Shibin Ragh Points 2145

Ajouter animation-fill-mode : forwards ;

.go {
     -webkit-animation-fill-mode: forwards;
 }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X