Stoppen einer CSS-animation, sondern lässt seine aktuelle iteration beenden

Ich habe Folgendes HTML:

<div class="rotate"></div>

Und die folgenden CSS:

@-webkit-keyframes rotate {
  to { 
    -webkit-transform: rotate(360deg);
  }
}
.rotate {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-animation-name:             rotate;
    -webkit-animation-duration:         5s;
    -webkit-animation-iteration-count:  infinite;
    -webkit-animation-timing-function:  linear;
}​

Möchte ich wissen, ob es eine Möglichkeit (mit JavaScript), um die Bewegungssimulation zu stoppen, aber lassen Sie es Ende der aktuellen iteration (vorzugsweise durch Veränderung eines oder ein paar CSS-Eigenschaften). Ich habe versucht Einstellung -webkit-animation-name um einen leeren Wert, sondern bewirkt, dass das element zu springen, zurück zu seiner ursprünglichen position in eine schrille Mode. Ich habe auch versucht die Einstellung -webkit-animation-iteration-count zu 1 aber, dass nicht die gleiche Sache.

  • Als alternative schlage ich vor, eine javascript-animation.
  • Berechnung der aktuellen iteration und die Einstellung der iteration-count auf den Wert, ist es möglich/nachvollziehbar?
  • Versuchen Sie, eine andere Klasse für das div, die Stile, die Sie in der Lage sein, Sie wollen, es zu beenden, und dann mit javascript, gelten, dass die Klasse der div-Recht, wenn die animation auf den Punkt, Sie wollen, es zu stoppen.
InformationsquelleAutor knpwrs | 2012-10-25
Schreibe einen Kommentar