Moo.Fx ist ein kleines JavaScipt Libary, das dynamische visuelle Effekte auf Webseiten ermöglicht. Dieses Tutorial stellt die Handhabung von Moo.Fx kurz vor.
Moo.fx ermöglicht die einfache Manipulation der Transparenz, Grösse und verschiedener anderer Attribute (fast) beliebiger HTML Elemente durch Javascript Funktionsaufrufe. Der Vorteil dieser Lösung liegt vor allem in geringen Größe der benötigten Dateien, die um eine Vielfacher kleiner sind als vergleichbare Produkte.
Das Moo.Fx Packet ist auf der seite von madmilk kostenfrei verfügbar. Inhalt des zips sind die drei JavaScript Dateien moo.fx.js, moo.fx.pack.js und prototype.lite.js. Das prototype libary ist die Basis von Moo.fx und muss auf jeden Fall in die HTML Datei inkludiert werden. Die beiden moo.fx libarys sind zum einen das Basislib und die Effekt-Pack-lib.
Als erstes muss man in dem betreffenden (X)HTML Dokument im Head Bereich die Beiden JavaScript Bibliotheken einbinden:
<script type="text/javascript" src="prototype.lite.js"></script>
Anschließend kann man Effekte definieren die über das window.onload Objekt beim Laden der Seite iniiert werden.
<script type="text/javascript" src="moo.fx.js"></script>
window.onload = function()
{
.........
.........
}
Grundsätzlich gibt es 3 Effekte in moo.fx (mehr dann im effekt pack):
um einen Effekt so instanzieren muss dieser im wondow.onload Bereich so geladen werden:
window.onload = function()
myeffectHeight ist dabei die instanzierte Klasse des moo.fx Effektes "Height". Der Effekt bezieht sich auf deen CSS Selektor "container" und besitzt die Optionen "duration" und "onComplete".
{
myeffectHeight = new fx.Height('container', {duration: 400, onComplete: function()
{
alert('the effect is completed');
}
});
}
Für myeffectHeight und generell für jeden Effekt stehen folgenen Methoden zur verfügung
Hier ein Beispiel wie der erstellte Effekt im (X)HTML Dokument integriert und beim click ausgelöst wird:
<p onclick="myeffectHeight.toggle();">Lorem ipsum.</p>
<div id="container">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sed metus quis arcu tempus condimentum. Aenean eu odio. Mauris vehicula dui ut massa. In ac.</p>
</div>
Und nun das ganze in Action:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sed metus quis arcu tempus condimentum. Aenean eu odio. Mauris vehicula dui ut massa. In ac.
Effekt definieren im window.onload Bereich
myeffectWidth= new fx.Width('container2' {duration:200]);
Aufrufen am HTML Teil:
<a onclick="myeffectWidth.toggle();" style="cursor:pointer">Lorem ipsum</a>
<div id="container2">
............................
</div>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sed metus quis arcu tempus condimentum. Aenean eu odio. Mauris vehicula dui ut massa. In ac.
Effekt definieren im window.onload Bereich
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sed metus quis arcu tempus condimentum. Aenean eu odio. Mauris vehicula dui ut massa. In ac.
myeffectTrans = new fx.Opacity('container3', {duration: 300});
myeffectTrans.hide()
Aufrufen am HTML Teil:
<a onclick="myeffectTrans.toggle();" style="cursor:pointer">Lorem ipsum</a>
<div id="container3">
............................
</div>