DaftAcademy / daftacademy-frontend4beginners-autumn2019

12 stars 18 forks source link

Przeskok animacji #23

Open ZychGrzegorz opened 4 years ago

ZychGrzegorz commented 4 years ago

Cześć, cały czas zastanawia mnie : 'W skrajnych punktach animacji nie powinien wystąpić przeskok.'

Rozumiem, że musimy zastosować: np. 'animation-fill-mode: forwards' aby utrzymać stan przed i po zakończeniu animacji, następnie gdy myszka opuści zdjęcie powinna się uruchomić druga animacja modyfikująca kolory. Wiem, że teoretycznie skrajne punkty to 0% i 100%, ale możemy to też potraktować jako początek i koniec, który w przypadku przerwanie :hover może nastąpić np. w 60%

zadeklarowane parametry: 0% scale(1) 100% scale(1.6)

gdy przerywamy na 60% mamy ~scale(1.36) (zależnie od funkcji czasu) i uruchamia się druga animacja, fotka przeskakuje na scale(1.6) i wraca do scale(1)

Możliwe, że czegoś nie wiem. Rozwiązanie tego problemu jakie przychodzi mi do głowy to: nasłuchujemy na event 'mouseleave' i wtedy dynamicznie w JS generujemy animacje, która odczytuje aktualną wartość scale() obrazka i jako zmienna wskakuje w odpowiednie miejsce w

0% scale(aktualneScale)

100% scale(1)

Drugie rozwiązanie jest takie, że nie uwzględniamy tego problemu.

KubaDe commented 4 years ago

Poprawnie będzie, gdy nie będzie przeskoku przy rozpoczęciu animacji i po jej zakończeniu. Dopuszczalny jest przeskok gdy animacja zostanie przerwana w trakcie, jeżeli jednak uda Ci się go jakoś wyeliminować, będzie to duży plus :)

mrsKandyzowana commented 4 years ago

KubaDe, za przeskok mam rozumieć "brzydkie" przejście z animacji do animacji? Rozumiem, że ma być płynne, tak? Czyli chodzi o odpowiednie dobranie właściwości transition, tak?