JQuery ist in Javascript geschrieben. Als jemand, der ein wenig von jedem weiß, muss ich mich fragen, wie sie etwas davon geschrieben haben. Wie animieren Sie HTML-Elemente in reinem Javascript? Wird die CSS-Property, die animiert werden soll, einfach wiederholt, indem standardmäßige DOM-Manipulation verwendet wird und Callbacks asynchron ausgeführt werden? Oder ist es etwas anspruchsvoller?
jQuery-Animationen aktualisieren nur die CSS-Eigenschaften eines wiederkehrenden Timers (wodurch er asynchron wird).
Sie implementieren auch einen Tweening-Algorithmus, der verfolgt, ob die Animation dem Zeitplan oder dem Zeitplan voraus ist, und sie passen die Schrittgröße in der Animation bei jedem Schritt so an, dass sie bei Bedarf aufholen oder verlangsamen. Dadurch kann die Animation in der angegebenen Zeit abgeschlossen werden, unabhängig davon, wie schnell der Host-Computer ist. Der Nachteil ist, dass langsame oder ausgelastete Computer mehr abgehackte Animationen zeigen.
Sie unterstützen auch Beschleunigungsfunktionen, die die Zeit / Form der Beschleunigung der Animation steuern. Linear
bedeutet eine konstante Geschwindigkeit. Swing
ist typischer, starte langsam, beschleunige auf maximale Geschwindigkeit in der Mitte und dann langsam.
Da Animationen asynchron sind, implementiert jQuery auch eine Animationswarteschlange, sodass Sie mehrere Animationen angeben können, die nacheinander ausgeführt werden sollen. Die zweite Animation beginnt, wenn die erste Animation beendet ist und so weiter. jQuery bietet auch eine Vervollständigungsfunktion. Wenn Sie möchten, dass ein Teil Ihres eigenen Codes nach Abschluss einer Animation ausgeführt wird, können Sie eine Rückruffunktion angeben, die beim Abschluss der Animation aufgerufen wird. Auf diese Weise können Sie einen Vorgang ausführen, wenn die Animation abgeschlossen ist, z. B. die Animation eines anderen Objekts starten, ein Objekt ausblenden usw. ...
Zu Ihrer Information: Der jQuery-JavaScript-Quellcode ist vollständig verfügbar, wenn Sie weitere Informationen wünschen. Der Kern der Arbeit ist in einer lokalen Funktion namens doAnimation()
, obwohl ein Großteil der Arbeit in den Funktionen step
und update
erledigt wird, die mit der Definition von jQuery.fx.prototype
gefunden werden können.
Wenn das Element während einer jQuery-Animation fast immer überprüft wird, ändert es den CSS-Code, der dem Element über jQuery zugewiesen wird, das nicht wirklich von dem von Ihnen geschriebenen HTML zugewiesen wird. Holen Sie sich einen FireBug, wenn Sie ihn nicht für Firefox haben, und prüfen Sie, was während der Ausführung der Animationen vor sich geht.
Tags und Links javascript jquery jquery-animate