Javascript + CSS animation will nicht funktionieren?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
boxes.forEach(vox => {

Eher "box" nicht "vox".

Zudem gibt dir deine Browserkonsole noch weitere Fehlermeldungen an:

const boxTop.getBoundingClientRect().top

zu

const boxTop = box.getBoundingClientRect().top

Und du hast die Funktion falsch benannt (ein Typo im Namen).

Ansonsten ist es eher ungünstig, Javascript mit CSS-Animationen zu verknüpfen. Das geht zwar, aber da hast du womöglich nicht ausreichend Kontrolle (da beispielsweise Start und Stop der Animation sich beim Aufruf der entsprechenden Methoden verzögern können).

Ansonsten ist "transform" iirc auch nur schlecht animierbar. Da weiß CSS nicht, wie es Werte ändern soll (das must du aber ausprobieren, ich meine das ging doch irgendwie).
Die Transition wird aber auch nur ausgeführt, wenn sich der entsprechende Wert ändert. Da das hier nicht passiert, findet auch keine Transition statt.

Will heißen:

1.) Schau in deine Browserkonsole.

2.) Mach das nicht über Transitions, das funzt eher nicht, und wenn doch ist es ein Gefrickle.