JavaScript Text animation?
Hi,
ich will so eine Text-Animation auf einer Seite, wo Zitate durch die Seite gehen. Von Links nach rechts. Wenn das jeweilige Zitat dann auf der rechten Seite der Seite angekommen ist, sollte es wieder auf der linken Seite erscheinen. Hat jemand eine Idee wie man das machen könnte? Ich habe es mit "Keyframes" in "Css" ausprobiert, aber wenn ich mehrere Zitate mit unterschiedlicher Länge benutze, verändert sich das Tempo der jeweiligen Sätze, obwohl ich die "animation-duration" festgelegt habe.
Vielen Dank für Eure Hilfe!
LG
1 Antwort
(...) wenn ich mehrere Zitate mit unterschiedlicher Länge benutze, verändert sich das Tempo der jeweiligen Sätze, (...)
Das klingt logisch. Immerhin braucht ein langer Satz mehr Zeit, um über die Bildfläche zu laufen, als ein kurzer Satz. Er muss sich schneller bewegen, um die von dir gesetzte Animationsdauer einhalten zu können.
Setze die Dauer einer Animation besser individuell je Text. Die erforderliche Zeitlänge lässt sich mit JavaScript je Text berechnen:
const pathDistance = text.offsetWidth + widthOfYourContainer;
const animationDuration = pixelDelay * pathDistance;
Der Wert von pixelDelay würde der Verzögerung / Zeitdauer (in s/ms) entsprechen, die pro Pixel benötigt werden soll (oder vereinfacht gesagt: Dieser Faktor bestimmt die Geschwindigkeit des Textes).