21.01.2009 - geschrieben von mrvn in Tutorials
6 $fx() – JavaScript Animation Framework
![]()
Neulich bin ich auf die überaus schlanke (3.7kb) Version eines JS Frameworks für Animationen gelangt. Das Ganze nennt sich fx() und ist nicht ganz so einfach zu bedienen wie z.B. jQuery, aber wer lediglich einfache Animationen machen will ohne gleich immer das “tonnenschwere” jQuery einzubinden ist hiermit bestens bedient. Genug Theorie, nun will ich euch das Framework ein wenig genauer vorstelllen. Als Beispiel nehm ich einfach mal eine simple vertikale Hintergrundanimation, also die Veränderung des CSS-Wertes background-position-y.
Als erstes muss man natürlich die FramworkDatei einbinden, welche ihr hier bekommt: fx.inetcat.com
Definieren der Animation
var Down = {type: 'backgroundy', to: -190, step: -1, delay: 10}
- type: das CSS Attribut, welches geändert werden soll
- to: der neue CSS Wert (alternativ lässt sich sogar noch ein
fromfestlegen) - step: Größe eines Animations-Schrittes und “Abspielrichtung” (+ oder -)
- delay: Verzögerung zwischen den Schritten (
step) stepunddelaybilden praktisch die Geschwindikeit
Animation auf ein Element übertragen
$fx('#bg').fxAdd(Down).fxRun();
- $fx(‘#bg’): Auswählen des HTML Elementes mit der
id="bg" - .fxAdd(Down): fügt nun die oben definierte Bewegung namens “Down” hinzu!
- .fxRun(): startet die Animation
Starten wenn die Seite fertig geladen ist
Damit die Animation automatisch startet, wenn man die Seite aufruft packen wir die letzte Zeile in eine Funktion (ich nenn sie mal LosGehts):
function LosGehts () {
$fx('#bg').fxAdd(Down).fxRun();
}
und laden diese nun mit der bekannten JS-Anweisung onload in den bodytag hinein:
<body onload="LosGehts();">
Zusammenfassung
Das war es eigentlich schon. Das sieht jetzt alles viel aus, ist es aber gar nicht. Hier nocheinmal den vollständigen JS-Quellcode:
var Down = {type: 'backgroundy', to: -190, step: -1, delay: 10}
function LosGehts () {
$fx('#bg').fxAdd(Down).fxRun();
}
Fertig
Das haben wir gerade gemacht: $fx() Framework Demo
Wenn man noch ein wenig weiterspielt und die callbacks der fxRun(); nutzt, kann man einfache Kettenanimationen erstellen, denn die Callback Animation wird automatisch gestartet, wenn die Erste durchgelaufen ist. Der callback wird wie folgt aufgrufen:
$fx('#bg').fxAdd(Down).fxRun(function() { // 1. Animation
$fx('#bg').fxAdd(Up).fxRun(); // 2. Animation
});
Verzögerung
Um eine Verzögerung in die Animation(en) rein zubringen benutzt man beim Aufrufen einfach noch fxHold(); . In die Klammer kommt die Länge der Verzögerung/Pause in Millisekunden. Zum Beispiel wär 1 Sekunde: fxHold(1000); . Nun wird eine Sekunde gewartet, bevor die Aktion/Animation gestartet wird, in der das Hold drin steht.
Erweitern der Animationen
Nun habe ich das Ganze mit den oben genannten Methoden erweitert, noch andere CSS Attribute benutzt, um so der Animation noch ein wenig mehr Schliff und Tiefe zu geben:
$fx() Framework Demo Erweitert
Hoffe euch hat das Tutorial gefallen. Eure Meinung lese ich gerne in den Kommentaren nach;)
Tags: frameworkfxjavascript
6 Kommentare
Trackback - RSS Kommentare zu "$fx() – JavaScript Animation Framework"
1 Chrissy
schrieb am 23. Januar 2009 um 20:56
ziemlich gut erklärt : ]
dank dir dafür!
2 chris
schrieb am 23. Januar 2009 um 21:31
richtig geil
deine seite rockt
3 adrian
schrieb am 26. Januar 2009 um 21:17
coole sache werd ich mir mal genauer anschauen
danke
4 KnüT
schrieb am 29. August 2009 um 14:18
yeah, sowas hab ich schon länger gesucht… sehr nice.
aber mit onload im body wird der Validator meckern.
lieber events verwenden:
window.addEvent(‘domready’, function() {LosGehts();});
grüße
5 Marvin
schrieb am 2. September 2009 um 11:57
danke für den tipp, daran habe ich gar nicht gedacht!
6 Martin Teufel
schrieb am 9. März 2010 um 11:24
einfach cool die Hasen-Animation ;-)