jQuery von Kopf bis Fuß (German Edition)
vorhanden ist.
switchClass(aktuelle_klasse, neue_klasse)
Ermöglicht einen fließenden Übergang von einer Klasse zu einer anderen.
Fortgeschrittene Easing-Funktionen
Die Möglichkeit, die Animation im Verlauf zu verlangsamen oder zu beschleunigen (Easing), ist bereits in den Kern der jQuery UI-Effekte integriert. Dabei handelt es sich um eine Portierung der von Robert Penners geschriebenen Easing-Funktionen, die ursprünglich in ActionScript für Flash programmiert waren. Bei den Funktionen handelt es sich um eine Reihe mathematischer Gleichungen, die die Animation von Objekten sanfter und genauer machen sollen. Hier eine Liste der möglichen Easing-Funktionen:
linear
swing
jswing
easeInQuad
easeOutQuad
easeInOutQuad
easeInCubic
easeOutCubic
easeInOutCubic
easeInQuart
easeOutQuart
easeInOutQuart
easeInQuint
easeOutQuint
easeInOutQuint
easeInSine
easeOutSine
easeInOutSine
easeInExpo
easeOutExpo
easeInOutExpo
easeInCirc
easeOutCirc
easeInOutCirc
easeInElastic
easeOutElastic
easeInOutElastic
easeInBack
easeOutBack
easeInOutBack
easeInBounce
easeOutBounce
easeInOutBounce
#8. Eigene jQuery-Plugins schreiben
Die Erweiterung von jQuery mithilfe von Plugins kann sehr leistungsfähig sein. Durch das Auslagern komplexer Funktionen in Plugins können Sie sich und Ihren Freunden eine Menge Entwicklungszeit sparen.
Anstatt an dieser Stelle einen langen Text über die Erstellung von Plugins zu schreiben, möchten wir Sie in diesem Fall an die Experten von jQuery weiterreichen. Unter folgender Adresse finden Sie eine umfangreiche und lehrreiche Anleitung:
http://docs.jquery.com/Plugins/Authoring
Die folgende Liste ist eine Zusammenfassung der wichtigsten Punkte, die Sie bei der Entwicklung eigener jQueryPlugins beachten sollten:
Bauen Sie Ihr Plugin immer nach folgendem Schema auf:
(function( $ ){ // Hier steht der Plugin-Code })( jQuery );
Verwenden Sie keine redundanten
this
-Schlüsselwörter im Geltungsbereich des Plugin-Codes.
Damit die Plugin-Funktion mit anderen Funktionen verkettet werden kann, sollten Sie immer das Schlüsselwort
this
zurückgeben, sofern es keinen speziellen Rückgabewert gibt.
Anstelle einer lange Reihe von Argumenten sollten Sie die Einstellungen für Ihr Plugin besser als Objektliteral übergeben, das die Grundeinstellungen des Plugins erweitert.
Überladen Sie das
jQuery.fn
-Objekt nicht mit mehr als einem Namensraum pro Plugin.
Verwenden Sie für Ihre Methoden, Events und Daten immer einen eigenen Namensraum.
jQuery.fn
wird wie “jQuery effin” ausgesprochen.
#9. Fortgeschrittenes JavaScript: Closures
Closures sind innerhalb von JavaScript ein ziemlich komplexes Thema, das es übrigens fast in den Haupttext dieses Buches geschafft hätte. Auch wenn das nicht geklappt hat, halten wir Closures für wichtig genug, sie hier zumindest zu erwähnen.
Wenn Sie das Konzept einmal verstanden haben, sind Closures gar nicht so schwer zu verstehen. Eine detaillierte technische Beschreibung kann dagegen schnell zu Verwirrung führen.
Zunächst eine mögliche Definition (bzw. zwei):
Eine Closure ist eine lokale Variable für eine Funktion, die auch nach Beendigung der Funktion “weiterlebt”.
Immer wenn Sie das Schlüsselwort
function
innerhalb einer anderen Funktion sehen, hat die innere Funktion Zugriff auf die Variablen der äußeren Funktion.
Verrückt, was?
Closures beziehen sich vollständig auf den Geltungsbereich von Variablen und Objekten. Der Geltungsbereich bestimmt, wo Objekte, Variablen und Funktionen erstellt werden, wo sie zugänglich sind und in welchem Kontext sie aufgerufen werden. Grundsätzlich können Objekte, Variablen und Funktionen entweder mit einem lokalen oder mit einem globalen Geltungsbereich definiert werden.
Lokaler Geltungsbereich: Der lokale Geltungsbereich liegt vor, wenn etwas in einem bestimmten Codeabschnitt definiert wird, beispielsweise innerhalb einer Funktion.
Globaler Geltungsbereich: Im Gegensatz zum lokalen Geltungsbereich sind global definierte Dinge an beliebiger Stelle im Code zugänglich.
Sehen Sie sich dazu den folgenden Beispielcode an:
function funktion1(x) {
var tmp = 3;
function funktion2(y) {
alert(x + y + (++tmp));
}
funktion2(10);
}
funktion1(2);
#9. Fortgeschrittenes JavaScript: Closures (Fortsetzung)
Hier wird die Variable
tmp
in einem lokalen Geltungsbereich definiert. Dadurch gibt die Warnmeldung immer den Wert 16 aus, weil
funktion2
sowohl auf den Wert von
x
als auch auf die in
func1
definierte
Weitere Kostenlose Bücher