Mam następujące HTML:Zatrzymanie animacji CSS, ale pozwalając jej aktualna iteracja zakończyć
<div class="rotate"></div>
i następujący 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;
}
Chcę wiedzieć, czy istnieje sposób (przy użyciu JavaScript), aby zatrzymać animację, ale pozwól jej zakończyć aktualną iterację (najlepiej zmieniając jedną lub kilka właściwości CSS). Próbowałem ustawić -webkit-animation-name
, aby mieć pustą wartość, ale to powoduje, że element przeskakuje z powrotem do pierwotnej pozycji w sposób wstrząsający. Próbowałem również ustawić -webkit-animation-iteration-count
na 1
, ale to samo.
Jako alternatywę proponuję javascript animacji. –
obliczanie bieżącej iteracji i ustawianie liczby iteracji na tę wartość, czy to możliwe/możliwe do śledzenia? –
Spróbuj utworzyć kolejną klasę dla elementu div, który będzie ją określał w położeniu, w którym ma się zakończyć, a następnie za pomocą javascript, zastosuj tę klasę do div div, gdy animacja osiągnie punkt, w którym ma się zatrzymać. – Ryan