Chciałem tylko wiedzieć, czy istnieje sposób na monitorowanie postępu animacji elementu. Wiem tylko animationstart
i animationend
, Czy jest jakiś rodzaj animationprogress
?
Odpowiedzi:
2 dla odpowiedzi № 1Nie, nie ma animationprogess
zdarzenie. Per Specyfikacja W3istnieją trzy rodzaje AnimationEvent
wydarzenia Jest animationstart
, animationend
i animationiteration
. animationiteration
jest zwolniony zamiast animationend
kiedy animacja ma się powtórzyć.
Prawdopodobnie możesz użyć setInterval()
który został ustawiony na ułamek animacjiczas (np. 10% czasu animacji), a następnie będziesz wywoływany w każdym punkcie animacji. Możesz zapytać o postęp animacji w dowolnym z tych zdarzeń timera, jeśli potrzebujesz dokładnej pozycji animacji.
Lub, jeśli chcesz uzyskać większą precyzję pomiaru czasu, możesz podzielić animację na wiele kolejnych sekwencji i użyć animationend
na każdym kawałku jako wskaźnik postępu i spust, aby rozpocząć kolejną fazę animacji.