Cover image for JQuery Kochbuch

Book description

jQuery ist ein freies JavaScript-Framework, das komfortable Funktionen zur DOM-Manipulation und -Navigation zur Verfügung stellt. Der Einstieg in diese JavaScript-Bibliothek ist einfach, aber man braucht oft Jahre, um alle Funktionen und Features umfassend und klug einsetzen zu können. Das jQuery Kochbuch verkürzt diese Lernphase dramatisch.

Mit jQuery Kochbuch lernt der Einsteiger und der Java­Script-Erfahrene praxisrelevante jQuery-Patterns und komplexe Lösungen von einem Dutzend hervorragender Webentwickler.

Table of Contents

  1. Vorwort
  2. Beteiligte
    1. Kapitelautoren
    2. Fachlektoren
  3. Einleitung
    1. Für wen dieses Buch gedacht ist
    2. Was Sie lernen werden
    3. Stil und Konventionen von jQuery
    4. Andere Optionen
    5. Wenn Sie Probleme mit den Beispielen haben
    6. Wenn Sie dieses Buch mögen (oder auch nicht)
    7. Konventionen
  4. 1. Grundlagen von jQuery
    1. Einleitung
      1. Warum jQuery?
      2. Die Philosophie hinter jQuery
        1. Elemente finden, mit denen dann etwas getan wird
        2. Verketten
        3. Die Wrapper-Sets von jQuery
      3. Organisation der jQuery-API
    2. Einbinden der jQuery-Bibliothek in eine HTML-Seite
      1. Problem
      2. Lösung
      3. Diskussion
    3. Ausführen von jQuery/JavaScript-Code nach dem Laden des DOM, aber noch vor dem vollständigen Laden der Seite
      1. Problem
      2. Lösung
      3. Diskussion
    4. Selektieren von DOM-Elementen mit Selektoren und der jQuery-Funktion
      1. Problem
      2. Lösung
      3. Diskussion
    5. Selektieren von DOM-Elementen in einem bestimmten Kontext
      1. Problem
      2. Lösung
      3. Diskussion
    6. Ein Wrapper-Set mit DOM-Elementen filtern
      1. Problem
      2. Lösung
      3. Diskussion
    7. Abhängige Elemente im aktuell selektierten Wrapper-Set finden
      1. Problem
      2. Lösung
      3. Diskussion
    8. Vor einer destruktiven Änderung zur vorherigen Selektion zurückkehren
      1. Problem
      2. Lösung
      3. Diskussion
    9. Die vorherige Selektion mit der aktuellen Selektion vereinigen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Das DOM basierend auf dem aktuellen Kontext durchlaufen, um ein neues Set mit DOM-Elementen zu erhalten
      1. Problem
      2. Lösung
      3. Diskussion
    11. DOM-Elemente erstellen, bearbeiten und einfügen
      1. Problem
      2. Lösung
      3. Diskussion
    12. Entfernen von DOM-Elementen
      1. Problem
      2. Lösung
      3. Diskussion
    13. DOM-Elemente ersetzen
      1. Problem
      2. Lösung
      3. Diskussion
    14. DOM-Elemente klonen
      1. Problem
      2. Lösung
      3. Diskussion
    15. Attribute von DOM-Elementen lesen, setzen und entfernen
      1. Problem
      2. Lösung
      3. Diskussion
    16. HTML-Inhalte lesen und setzen
      1. Problem
      2. Lösung
      3. Diskussion
    17. Text-Inhalte lesen und setzen
      1. Problem
      2. Lösung
      3. Diskussion
    18. Den $-Alias verwenden, ohne globale Konflikte zu erzeugen
      1. Problem
      2. Lösung
      3. Diskussion
  5. 2. Elemente mit jQuery selektieren
    1. Einführung
    2. Nur Kind-Elemente selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    3. Bestimmte Geschwister-Elemente selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    4. Elemente über die Index-Reihenfolge selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    5. Aktuell animierte Elemente selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    6. Elemente anhand ihres Inhalts selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    7. Elemente über eine negative Selektion selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    8. Elemente anhand ihrer Sichtbarkeit selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    9. Elemente anhand von Attributen selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    10. Form-Elemente anhand des Typs selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    11. Elemente mit bestimmten Eigenschaften selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    12. Den Kontext-Parameter verwenden
      1. Problem
      2. Lösung
      3. Diskussion
    13. Einen eigenen Filter-Selektor erstellen
      1. Problem
      2. Lösung
      3. Diskussion
  6. 3. Fortgeschrittene Techniken
    1. Einführung
    2. Ein Set mit selektierten Ergebnissen durchlaufen
      1. Problem
      2. Lösung
      3. Diskussion
    3. Das Selektions-Set auf ein bestimmtes Element reduzieren
      1. Problem
      2. Lösung
      3. Diskussion
    4. Ein selektiertes jQuery-Objekt in ein reines DOM-Objekt konvertieren
      1. Problem
      2. Lösung
      3. Diskussion
    5. Den Index eines Elements in einer Selektion ermitteln
      1. Problem
      2. Lösung
      3. Diskussion
    6. Aus einem bestehenden Array ein Array mit ausgewählten Werten erstellen
      1. Problem
      2. Lösung
      3. Diskussion
    7. Eine Aktion auf einer Untermenge des selektierten Sets ausführen
      1. Problem
      2. Lösung
      3. Diskussion
    8. Konfigurieren von jQuery, so dass es nicht mit anderen Bibliotheken kollidiert
      1. Problem
      2. Lösung
      3. Diskussion
    9. Funktionalität durch Plugins hinzufügen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Die verwendete Selektion bestimmen
      1. Problem
      2. Lösung
      3. Diskussion
  7. 4. jQuery-Tools
    1. Einführung
    2. Features mit jQuery.support erkennen
      1. Problem
      2. Lösung
      3. Diskussion
    3. Mit jQuery.each über Arrays und Objekte iterieren
      1. Problem
      2. Lösung
      3. Diskussion
    4. Arrays mit jQuery.grep filtern
      1. Problem
      2. Lösung
      3. Diskussion
    5. Über Array-Elemente mit jQuery.map iterieren und sie verändern
      1. Problem
      2. Lösung
      3. Diskussion
    6. Zwei Arrays durch jQuery.merge kombinieren
      1. Problem
      2. Lösung
      3. Diskussion
    7. Doppelte Array-Einträge mit jQuery.unique ausfiltern
      1. Problem
      2. Lösung
      3. Diskussion
    8. Callback-Funktionen mit jQuery.isFunction testen
      1. Problem
      2. Lösung
      3. Diskussion
    9. Whitespace aus Strings oder Form-Werten mit jQuery.trim entfernen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Objekte und Daten per jQuery.data an DOM-Elemente anhängen
      1. Problem
      2. Lösung
      3. Diskussion
    11. Objekte durch jQuery.extend erweitern
      1. Problem
      2. Lösung
      3. Diskussion
  8. 5. Schneller, Einfacher, Spaßiger
    1. Einführung
    2. Das ist nicht jQuery, sondern JavaScript!
      1. Problem
      2. Lösung
      3. Diskussion
    3. Was ist an $(this) falsch?
      1. Problem
      2. Lösung
      3. Diskussion
    4. Überflüssige Wiederholungen vermeiden
      1. Problem
      2. Lösung 1
      3. Lösung 2
      4. Diskussion
    5. Ihre verketteten jQuery-Methoden formatieren
      1. Problem
      2. Lösung
      3. Diskussion
    6. Code aus anderen Bibliotheken übernehmen
      1. Problem
      2. Lösung
      3. Diskussion
    7. Einen eigenen Iterator schreiben
      1. Problem
      2. Lösung
      3. Diskussion
    8. Ein Attribut umschalten
      1. Problem
      2. Lösung
      3. Diskussion
    9. Performance-Killer finden
      1. Problem
      2. Lösung
      3. Diskussion
    10. Ihre jQuery-Objekte puffern
      1. Problem
      2. Lösung
      3. Diskussion
    11. Schnellere Selektoren schreiben
      1. Problem
      2. Lösung
      3. Diskussion
    12. Tabellen schneller laden
      1. Problem
      2. Lösung
      3. Diskussion
    13. Schleifen programmieren
      1. Problem
      2. Lösung
      3. Diskussion
    14. Name Lookups verringern
      1. Problem
      2. Lösung
      3. Diskussion
    15. Das DOM mit .innerHTML schneller aktualisieren
      1. Problem
      2. Lösung
      3. Diskussion
    16. Debuggen? Sprengen Sie die Ketten
      1. Problem
      2. Lösung
      3. Diskussion
    17. Ist das ein Bug von jQuery?
      1. Problem
      2. Lösung
      3. Diskussion
    18. In jQuery debuggen
      1. Problem 1
      2. Lösung 1
      3. Problem 2
      4. Lösung 2
      5. Diskussion
    19. Weniger Server-Anfragen erzeugen
      1. Problem
      2. Lösung
      3. Diskussion
    20. Zurückhaltendes JavaScript schreiben
      1. Problem
      2. Lösung
      3. Diskussion
    21. jQuery für die progressive Verbesserung nutzen
      1. Problem
      2. Lösung
      3. Diskussion
    22. Machen Sie Ihre Seiten barrierefrei
      1. Problem
      2. Lösung
      3. Diskussion
  9. 6. Dimensionen
    1. Einführung
    2. Die Dimensionen von Window und Document ermitteln
      1. Problem
      2. Lösung
      3. Diskussion
    3. Ermitteln der Dimensionen eines Elements
      1. Problem
      2. Lösung
      3. Diskussion
    4. Den Offset eines Elements ermitteln
      1. Problem
      2. Lösung
      3. Diskussion
    5. Ein Element in den sichtbaren Bereich scrollen
      1. Problem
      2. Lösung: Scrollen des gesamten Fensters
      3. Lösung: Scrollen innerhalb eines Elements
    6. Ermitteln, ob sich ein Element im sichtbaren Bereich befindet
      1. Problem
      2. Lösung
    7. Zentrieren eines Elements im sichtbaren Bereich
      1. Problem
      2. Lösung
    8. Absolute Positionierung eines Elements an seiner aktuellen Position
      1. Problem
      2. Lösung
    9. Ein Element relativ zu einem anderen Element positionieren
      1. Problem
      2. Lösung
    10. Stylesheets abhängig von der Browser-Breite wechseln
      1. Problem
      2. Lösungen
      3. Lösung 1: Ändern der Klasse des Body-Elements
      4. Lösung 2: Ändern des href-Attributs des Stylesheets, das für größenbezogene Styles zuständig ist
      5. Lösung 3: Alle größenbezogenen Stylesheets in die Seite einbinden, aber nur eines aktivieren
      6. Diskussion
  10. 7. Effekte
    1. Einführung
      1. Methode animate
      2. Animations-Geschwindigkeiten
      3. Effekt-Vorlage
    2. Elemente per Sliding und Fading ein- und ausblenden
      1. Problem
      2. Lösung
        1. Slide
        2. Fade
        3. Beides
      3. Diskussion
    3. Elemente durch ein Sliding Up anzeigen
      1. Problem
      2. Lösung
        1. HTML
        2. CSS
        3. jQuery
      3. Diskussion
    4. Erzeugen eines horizontalen Akkordeons
      1. Problem
      2. Lösung
        1. HTML
        2. CSS
        3. jQuery
      3. Diskussion
    5. Elemente gleichzeitig Sliden und Faden
      1. Lösung
      2. Diskussion
    6. Sequenzielle Effekte anwenden
      1. Problem
      2. Lösung
        1. Manueller Callback
        2. Automatische Sequenz
      3. Diskussion
    7. Erkennen, ob Elemente aktuell animiert werden
      1. Problem
      2. Lösung
      3. Diskussion
    8. Animationen stoppen und zurücksetzen
      1. Problem
      2. Lösung
      3. Diskussion
    9. Eigene Easing-Methoden für Effekte nutzen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Alle Effekte deaktivieren
      1. Problem
      2. Lösung
      3. Diskussion
    11. Aufwändigere Effekte mit jQuery UI erzeugen
      1. Problem
      2. Lösung
        1. CSS
        2. jQuery
      3. Diskussion
  11. 8. Events
    1. Einführung
    2. Einen Handler mit vielen Events verbinden
      1. Problem
      2. Lösung
      3. Diskussion
    3. Eine Handler-Funktion mit anderen Daten wiederverwenden
      1. Problem
      2. Lösung
      3. Diskussion
    4. Ein ganzes Set mit Eventhandlern entfernen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Wie bindet man mit einem Namensraum?
        2. Wie räumt man später auf?
    5. Eventhandler auslösen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Wie löst man Handler mit einem bestimmten Namensraum aus?
        2. Wie löst man Handler aus, die
    6. Dynamische Daten an Eventhandler übergeben
      1. Problem
      2. Lösung
      3. Diskussion
        1. Zusätzliche Argumente übergeben
          1. Mehr Beispiele
        2. Ein eigenes Event-Objekt übergeben
        3. Was ist der Unterschied zu event.data?
    7. Sofortiger Zugriff auf ein Element (noch vor document.ready)
      1. Problem
      2. Lösung
      3. Diskussion
        1. Ein Element direkt verbergen (oder eine andere Änderung am Style vornehmen)
        2. Eventhandler so schnell wie möglich an ein Element binden
        3. Andere Situationen
          1. Polling
          2. Skripte positionieren
    8. Die Ausführungsschleife für Handler stoppen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Beispiele
          1. Einfaches Überprüfen einer Form
          2. Alle Events stoppen
        2. Nachteile dieses Vorgehens
    9. Beim Verwenden von event.target das richtige Element erhalten
      1. Problem
      2. Lösung
      3. Diskussion
    10. Mehrere parallele hover()-Animationen vermeiden
      1. Problem
      2. Lösung
      3. Diskussion
        1. Beispiel
        2. Der Rest
    11. Eventhandler für neu hinzugefügte Elemente nutzbar machen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Warum gehen Eventhandler verloren?
        2. Eine kleine Einführung in die Event-Delegation
        3. Vor- und Nachteile jeder Lösung
          1. Rebinding
          2. Event-Delegation
        4. Ergebnis
  12. 9. Events für Fortgeschrittene
    1. Einführung
    2. jQuery nutzen, wenn es dynamisch geladen wird
      1. Problem
      2. Lösung
      3. Diskussion
        1. Was ist jQuery.ready()?
        2. Warum ist das passiert?
    3. Das globale Auslösen von Events beschleunigen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Vor- und Nachteile
        2. Den Listenern weitere Funktionalität verpassen
    4. Eigene Events erstellen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Bindings für Ihr Event
        2. Ein reales Beispiel
        3. Bestehende Anwendungsfälle für dieses Feature
    5. Eventhandler stellen benötigte Daten bereit
      1. Problem
      2. Lösung
      3. Diskussion
        1. Wie kann man das mit jQuery 1.3 und höher machen?
        2. Vorgehen vor jQuery 1.3
        3. Eventhandler können Aktionen verhindern
    6. Event-gesteuerte Plugins erstellen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Ein Beispiel
        2. Was passiert, wenn ein Element schon eines dieser Events besitzt?
        3. Wie kann ich es anderen ermöglichen, die hinzugefügten Eventhandler wieder abzuräumen?
        4. Was ist der Unterschied zu anderen Vorgehensweisen?
          1. Das Plugin kann Anweisungen entgegennehmen
          2. Ein Objekt mit Methoden zurückgeben
    7. Benachrichtigungen erhalten, wenn jQuery-Methoden aufgerufen werden
      1. Problem
      2. Lösung
      3. Diskussion
        1. Die gewünschte Methode überladen
        2. Ein Event vor der Ausführung auslösen
        3. Die ursprüngliche Methode ausführen
        4. Ein Event nach der Ausführung auslösen
        5. Das Ergebnis zurückgeben
        6. Alles zusammen
        7. Was kann man noch machen?
    8. Objekt-Methoden als Event Listener nutzen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Wo ist der Knoten hin?
        2. Das Beispiel
          1. Die Objekte
          2. Die Methoden binden
  13. 10. HTML-Forms durch eigenen Code verbessern
    1. Einführung
    2. Ein Texteingabefeld beim Laden der Seite fokussieren
      1. Problem
      2. Lösung
      3. Diskussion
    3. Form-Elemente aktivieren und deaktivieren
      1. Problem
      2. Lösung 1
      3. Lösung 2
      4. Diskussion
    4. Automatisch Radio Buttons auswählen
      1. Problem
      2. Lösung 1
      3. Lösung 2
      4. Diskussion
    5. (De)selektieren aller Checkboxen durch Links
      1. Problem
      2. Lösung
      3. Diskussion
    6. (De)selektieren aller Checkboxen über einen einzelnen Umschalter
      1. Problem
      2. Lösung
      3. Diskussion
    7. Auswahl-Optionen hinzufügen und entfernen
      1. Problem
      2. Lösung
      3. Diskussion
    8. Abhängig von der Anzahl der Zeichen ins nächste Feld springen
      1. Problem
      2. Lösung
      3. Diskussion
    9. Anzahl der verbleibenden Zeichen anzeigen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Texteingabefelder auf bestimmte Zeichen beschränken
      1. Problem
      2. Lösung
      3. Diskussion
    11. Eine Form mit Ajax abschicken
      1. Problem
      2. Lösung
      3. Diskussion
    12. Forms überprüfen
      1. Problem
      2. Lösung
      3. Diskussion
  14. 11. Verbesserungen von HTML-Forms durch Plugins
    1. Einleitung
      1. Grundlegendes Vorgehen
    2. Forms überprüfen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Methoden
          1. Eigene Methoden
        2. Regeln
          1. Abhängigkeiten
          2. Eigene Ausdrücke
        3. Fehlermeldungen
          1. Lokalisierung
          2. Fehler-Element
          3. Layout
        4. Umgang mit submit
        5. Einschränkungen
    3. Eingabemasken für Felder erstellen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Einschränkungen
    4. Textfelder automatisch vervollständigen
      1. Problem
      2. Lösung
      3. Diskussion
    5. Einen Wertebereich selektieren
      1. Problem
      2. Lösung
      3. Diskussion
    6. Einen Wert eingeben, der innerhalb bestimmter Grenzen liegt
      1. Problem
      2. Lösung
      3. Diskussion
        1. Integration mit Google Maps
    7. Dateien im Hintergrund hochladen
      1. Problem
      2. Lösung
      3. Diskussion
    8. Die Länge von Texteingabefeldern begrenzen
      1. Problem
      2. Lösung
      3. Diskussion
    9. Label oberhalb von Eingabefeldern anzeigen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Ein Eingabeelement mit seinem Inhalt wachsen lassen
      1. Problem
      2. Lösung
      3. Diskussion
    11. Ein Datum wählen
      1. Problem
      2. Lösung
      3. Diskussion
        1. Lokalisierung
  15. 12. jQuery-Plugins
    1. Einleitung
    2. Wo finden Sie jQuery-Plugins?
      1. Problem
      2. Lösung
      3. Diskussion
        1. Im jQuery Plugin Repository suchen
        2. In Google Code suchen
        3. In GitHub suchen
        4. Mit Google suchen
        5. In SourceForge suchen
    3. Wann sollten Sie ein jQuery-Plugin schreiben?
      1. Problem
      2. Lösung
      3. Diskussion
        1. Ein Plugin bauen, wenn es einen potenziellen Anwenderkreis gibt
        2. Das für Sie akzeptable Support-Level kennen und kommunizieren
        3. Berücksichtigen Sie die Mithilfe durch andere
    4. Schreiben Sie Ihr erstes jQuery-Plugin
      1. Problem
      2. Lösung
        1. Eine eigene jQuery-Methode schreiben
        2. Eine eigene jQuery-Funktion schreiben
      3. Diskussion
    5. Ihrem Plugin Optionen mitgeben
      1. Problem
      2. Lösung
      3. Diskussion
    6. Die Kurzform $ in Ihrem Plugin verwenden
      1. Problem
      2. Lösung
      3. Diskussion
    7. Private Funktionen in Ihr Plugin aufnehmen
      1. Problem
      2. Lösung
      3. Diskussion
    8. Das Metadata-Plugin unterstützen
      1. Problem
      2. Lösung
      3. Diskussion
    9. Ihrem Plugin eine statische Funktion hinzufügen
      1. Problem
      2. Lösung
      3. Diskussion
    10. Unit Tests für Ihr Plugin mit QUnit
      1. Problem
      2. Lösung
      3. Diskussion
  16. 13. Selbst geschriebene Benutzerschnittstellen
    1. Einleitung
    2. Eigene Tooltips erstellen
      1. Problem
      2. Lösung
        1. Tooltip – HTML-Code
        2. Tooltip – jQuery-Code
      3. Diskussion
    3. In einem Baum navigieren
      1. Problem
      2. Lösung
        1. Baum – HTML-Code
        2. Baum – jQuery-Code
      3. Diskussion
    4. Ein Akkordeon aufziehen
      1. Problem
      2. Lösung
        1. Akkordeon – HTML-Code
        2. Akkordeon – jQuery-Code
      3. Diskussion
    5. Registerkarten in einem Dokument
      1. Problem
      2. Lösung
        1. Registerkarten – HTML-Code
        2. Registerkarten – jQuery-Code
      3. Diskussion
    6. Ein einfaches modales Fenster anzeigen
      1. Problem
      2. Lösung
        1. Modales Fenster – HTML-Code
        2. Modales Fenster – jQuery-Code
      3. Diskussion
    7. Dropdown-Menüs erstellen
      1. Problem
      2. Lösung
        1. Dropdown-Menü – HTML-Code
        2. Dropdown-Menü – jQuery-Code
      3. Diskussion
    8. Bilder zyklisch einblenden
      1. Problem
      2. Lösung
        1. Rotator – HTML-Code
        2. Rotator – jQuery-Code
      3. Diskussion
    9. Sliding Panels
      1. Problem
      2. Lösung
        1. Panel – HTML-Code
        2. Panel – jQuery-Code
      3. Diskussion
  17. 14. Benutzerschnittstellen mit jQuery UI
    1. 14.1. Einleitung
      1. Interaktionen
      2. Widgets
      3. Effekte
      4. Grundlegende Verwendung
      5. Wie dieses Kapitel aufgebaut ist
    2. 14.2. Die komplette jQuery UI-Suite einbinden
      1. Problem
      2. Lösung
      3. Diskussion
    3. 14.3. Ein oder zwei einzelne jQuery UI-Plugins einbinden
      1. Problem
      2. Lösung
      3. Diskussion
    4. 14.4. Ein jQuery UI-Plugin mit den Standard-Optionen initialisieren
      1. Problem
      2. Lösung
      3. Diskussion
    5. 14.5. Ein jQuery UI-Plugin mit eigenen Optionen initialisieren
      1. Problem
      2. Lösung
      3. Diskussion
    6. 14.6. Eigene jQuery UI-Plugin-Standardwerte erstellen
      1. Problem
      2. Lösung
      3. Diskussion
    7. 14.7. Optionen für jQuery UI-Plugins lesen und setzen
      1. Problem
      2. Lösung 1: Den Wert lesen
      3. Lösung 2: Den Wert setzen
      4. Diskussion
    8. 14.8. Plugin-Methoden von jQuery UI aufrufen
      1. Problem
      2. Lösung
      3. Diskussion
    9. 14.9. Mit Events von jQuery UI-Plugins umgehen
      1. Problem
      2. Lösung 1: Eine Callback-Funktion für die Option mit dem Event-Namen übergeben
      3. Lösung 2: Über den Event-Typ an das Event binden
      4. Diskussion
    10. 14.10. Ein jQuery UI-Plugin zerstören
      1. Problem
      2. Lösung
      3. Diskussion
    11. 14.11. Einen Musikplayer mit jQuery UI erstellen
      1. Problem
      2. Lösung
        1. HTML5 Audio
        2. Der Musikplayer
        3. Buttons zum Abspielen und Pausieren
        4. Label für die aktuelle Position und die Länge des Liedes
        5. Slider für die Position im Lied
        6. Fortschrittsbalken, um den Pufferstatus anzuzeigen
        7. Lautstärkeregler
        8. Hintergrund des Widgets und letzte Feinarbeiten
  18. 15. Themes in jQuery UI
    1. Einleitung
      1. Die Komponenten von jQuery UI CSS verstehen
    2. Themes für jQuery UI-Widgets mit ThemeRoller erstellen
      1. Problem
      2. Lösung
        1. Schritt 1. ThemeRoller öffnen
        2. Schritt 2. Ein Theme erstellen und in der Vorschau betrachten
        3. Schritt 3. Die jQuery UI-Widgets und das Theme herunterladen
        4. Schritt 4. Dateien in Ihrem Projektverzeichnis zusammenführen
        5. Schritt 5. Auf die Theme-Stylesheets in Ihrem Projekt verweisen
      3. Diskussion
    3. Layout und Theme-Styles von jQuery UI überschreiben
      1. Problem
      2. Lösung
        1. Schritt 1. Markup und Styles des Widgets des jQuery UI-Plugins untersuchen
        2. Schritt 2. Erstellen eines Override-Stylesheets
        3. Schritt 3. Die Style-Regeln im Override-Stylesheet bearbeiten
          1. Eingeschränktes Überschreiben
          2. Override-Regeln schreiben
      3. Diskussion
    4. Ein Theme auf Komponenten anwenden, die nicht zum jQuery UI gehören
      1. Problem
      2. Lösung
        1. Schritt 1: Die verfügbaren Framework-Klassen untersuchen, um diejenigen zu ermitteln, die Sie auf Ihre Komponenten anwenden können
        2. Schritt 2: Framework-Klassen für anklickbare Elemente anwenden
      3. Diskussion
    5. Mehrere Themes auf einer einzelnen Seite verwenden
      1. Problem
      2. Lösung
        1. Schritt 1. Ein weiteres Theme mit ThemeRoller erstellen
        2. Schritt 2. Das neue Theme mit einem Gültigkeitsbereich versehen und es herunterladen
        3. Schritt 3. Vereinigen der Dateien in Ihrem Projektverzeichnis
        4. Schritt 4. Das Stylesheet des eingeschränkten Themes in Ihrem Projekt referenzieren
    6. Anhang: Weitere Informationen zu CSS
  19. 16. jQuery, Ajax, Datenformate: HTML, XML, JSON, JSONP
    1. Einleitung
    2. jQuery und Ajax
      1. Problem
      2. Lösung
      3. Diskussion
    3. Ajax auf der gesamten Site verwenden
      1. Problem
      2. Lösung
      3. Diskussion
    4. Einfache Ajax-Anwendung mit Rückmeldungen an den Benutzer
      1. Problem
      2. Lösung
      3. Diskussion
    5. Ajax-Hilfsfunktionen und Datentypen
      1. Problem
      2. Lösung
      3. Diskussion
    6. HTML-Fragmente mit jQuery einsetzen
      1. Problem
      2. Lösung
      3. Diskussion
    7. XML-Code in ein DOM konvertieren
      1. Problem
      2. Lösung
      3. Diskussion
    8. JSON erzeugen
      1. Problem
      2. Lösung
      3. Diskussion
    9. JSON parsen
      1. Problem
      2. Lösung
      3. Diskussion
    10. jQuery und JSONP verwenden
      1. Problem
      2. Lösung
      3. Diskussion
  20. 17. jQuery in großen Projekten verwenden
    1. Einleitung
    2. Auf dem Client speichern
      1. Problem
      2. Lösung
      3. Diskussion
    3. Den Anwendungs-Status für eine einzelne Session speichern
      1. Problem
      2. Lösung
      3. Diskussion
    4. Den Anwendungs-Status über eine Session hinaus speichern
      1. Problem
      2. Lösung
      3. Diskussion
    5. Eine JavaScript Template Engine nutzen
      1. Problem
      2. Lösung
      3. Diskussion
    6. Ajax-Anfragen queuen
      1. Problem
      2. Lösung
      3. Diskussion
    7. Ajax und der Zurück-Button
      1. Problem
      2. Lösung
      3. Diskussion
    8. JavaScript am Seitenende unterbringen
      1. Problem
      2. Lösung
      3. Diskussion
  21. 18. Unit Tests
    1. Einleitung
    2. Unit Tests automatisieren
      1. Problem
      2. Lösung
      3. Diskussion
    3. Ergebnisse sicherstellen
      1. Problem
      2. Lösung
        1. ok( boolean[, message ])
        2. equal( actual, expected[, message ])
        3. deepEqual( actual, expected[, message ])
    4. Synchrone Callbacks testen
      1. Problem
      2. Lösung
      3. Diskussion
    5. Asynchrone Callbacks testen
      1. Problem
      2. Lösung
      3. Diskussion
    6. Benutzeraktionen testen
      1. Problem
      2. Lösung
      3. Diskussion
    7. Tests atomar halten
      1. Problem
      2. Lösung
      3. Diskussion
    8. Tests gruppieren
      1. Problem
      2. Lösung
      3. Diskussion
    9. Durchzuführende Tests auswählen
      1. Problem
      2. Lösung
      3. Diskussion
  22. Stichwortverzeichnis
  23. Kolophon
  24. Copyright