Suchen und Finden
Service
Infos und Kontakt
Inhaltsübersicht
6
Inhaltsverzeichnis
8
Vorwort
14
1. Einleitung
18
1.1 Was behandelt dieses Buch?
19
1.2 Schreibkonventionen
20
1.3 Zu meiner Person
21
1.4 Wen sehe ich als Zielgruppe für das Buch?
22
1.5 Was benötigen Sie?
23
1.5.1 Hardware und Betriebssystem
23
1.5.2 jQuery
23
1.5.3 Die Browser
24
1.5.4 Verschiedene Betriebssysteme
25
1.5.5 Der Webserver
26
1.5.6 Die Entwicklungs-Tools
28
1.6 Zusammenfassung
31
2. jQuery at its first
32
2.1 Beispiel 1 – Zugriff auf Elemente und Schutz des DOM
32
2.2 Beispiel 2 – Veränderung der Webseite mit DHTML à la jQuery
36
2.3 Animiertes Verkleinern und Vergrößern eines Elements
40
2.4 Dynamisches Ummanteln und Ersetzen
43
2.5 Ein Element klonen und einfügen
47
2.6 Attribute dynamisch verändern
49
2.7 Ein dynamisches Menü
51
2.8 Zusammenfassung
59
3. Grundlagenwissen
60
3.1 Das WWW
60
3.1.1 Programmierung im WWW
61
3.1.2 Das Web 2.0
61
3.2 JavaScript und das Verhältnis zu jQuery
62
3.2.1 Die allgemeine Einbindung von JavaScript in Webseiten
63
3.2.2 Die Referenz auf die jQuery-Bibliothek
65
3.2.3 AJAX und XMLHttpRequest (XHR )
66
3.2.4 Objekte
67
3.3 DOM und der Zugriff auf Elemente einer Webseite
68
3.3.1 Verfügbare DOM-Objekte
69
3.4 Style Sheets und DHTML
71
3.4.1 CSS – die Standardsprache des Webs
71
3.4.2 Die konkrete Syntax von CSS-Deklarationen
72
3.5 Zusammenfassung
73
4. Wie jQuery grundsätzlich arbeitet
74
4.1 Objekte in JavaScript
75
4.1.1 Der Konstruktor
75
4.1.2 Eine Konstruktormethode selbst erstellen
76
4.1.3 Deklarative Objekterzeugung mit einem Objektliteral
77
4.1.4 Zugriff auf Objektbestandteile
77
4.1.5 Klassenelemente
79
4.2 Variablen, Literale und Datentypen
79
4.2.1 Die klassischen JavaScript-Datentypen
80
4.2.2 Map
81
4.2.3 Prototyping , Erweiterungen und die Erstellung neuer Datentypen
81
4.3 Funktionen und Methoden
89
4.3.1 Funktionsaufruf versus Funktionsreferenz
90
4.3.2 Funktionsargumente – arguments
90
4.3.3 Benannte versus anonyme Funktion
92
4.3.4 Callbacks
93
4.3.5 Rekursive Funktionsaufrufe
93
4.3.6 queue() und dequeue() – Funktionsaufruf nacheinander ausführen
95
4.4 Der Kontext
97
4.4.1 context und nodeName
97
4.5 Arrays
98
4.5.1 Zugriff auf Arrayelemente
99
4.5.2 Die jQuery-Ergänzung each() zur Iteration über Arrays und Objekte
103
4.5.3 Generics – die Array<Type>-Notation
108
4.6 Zugriff auf Elemente der Webseite
109
4.6.1 Der jQuery-Namensraum und das jQuery-Objekt
111
4.6.2 Die Funktion jQuery() und der Alias $()
111
4.6.3 eq()
113
4.6.4 get( )
115
4.6.5 Bestimmen des Index eines Elements mit index()
116
4.7 Verwalten eines Datenspeichers für Elemente – data() und removedata()
118
4.8 Gemeinsame Verwendung von jQuery und anderen Frameworks
121
4.8.1 Die Funktion jQuery.noConflict()
121
4.9 Optionen
123
4.10 Zusammenfassung
124
5. Selektoren , Filter und Stilbeeinflussung
126
5.1 Grundlagen
127
5.1.1 Bäume, Knoten und Elemente
127
5.2 Die Basisselektoren in jQuery
129
5.3 Hierarchische Selektoren
131
5.4 Filter
135
5.4.1 Basisfilter
135
5.4.2 Inhaltsfilter
137
5.4.3 Sichtbarkeitsfilter
138
5.4.4 Attributfilter
139
5.4.5 Kindfilter
141
5.4.6 Filter für Formularelemente und Formularfilter
142
5.5 Filtermethoden
145
5.5.1 Die Methode not()
145
5.5.2 Die Methode slice() zur Angabe eines Indexbereichs
147
5.5.3 Die Methode filter()
148
5.5.4 Die Methode is()
149
5.5.5 Die Methode map()
150
5.6 Die Eigenschaft selector
151
5.7 CSS mit jQuery
152
5.7.1 Die Methode css()
154
5.7.2 Methoden zur Positionierung
155
5.7.3 Höhe und Breite
161
5.8 Zusammenfassung
166
6. Die Webseite manipulieren und durchlaufen
168
6.1 Ändern, Hinzufügen und Entfernen von Knoten
168
6.1.1 Inhalte von Knoten abfragen und verändern – html() und text()
168
6.1.2 Inhalt von Formularfeldern – val()
170
6.1.3 Einfügen von Inhalt in eine Webseite
171
6.1.4 Knoten nachher oder vorher einfügen
176
6.1.5 Ummanteln
177
6.1.6 Ersetzen mit replaceWith() und replaceAll()
179
6.1.7 Entfernen mit empty() und remove()
182
6.1.8 Kopieren mit clone()
186
6.2 Suchen & Finden
188
6.2.1 Von Kindern und Eltern – children(), parent()/parents() und mehr
188
6.2.2 Von Geschwistern
194
6.2.3 Finden mit find() und contents()
197
6.3 Zusammenfassung
198
7. Ereignisbehandlung
200
7.1 Grundlagen zu Ereignissen, Eventhandlern, Triggern und Datenbindung
200
7.1.1 Allgemeines zu Eventhandlern
200
7.1.2 Das Event-Objekt
203
7.1.3 Datenbindung
204
7.1.4 Trigger
205
7.2 Das Event-Objekt in jQuery
205
7.2.1 Der Konstruktor von jQuery.Event
205
7.2.2 Die Eigenschaften des Ereignisobjekts jQuery.Event
206
7.2.3 Die Methoden eines Objekts vom Typ jQuery.Event
209
7.2.4 event.stopImmediatePropagation() und event.isImmediatePropagationStopped()
211
7.3 Ich haben fertig – $(document).ready()/$()
212
7.4 Erweiterte Methoden für das Eventhandling
212
7.4.1 Die Methoden bind() und unbind()
212
7.4.2 The one and only – one()
216
7.4.3 Die Methode trigger()
217
7.4.4 triggerHandler()
220
7.5 Live Events – die Methoden live() und die()
222
7.6 Hilfsfunktionen für die Interaktion
225
7.6.1 Die Funktion hover()
225
7.6.2 toggle()
226
7.7 Event Helper
230
7.8 Zusammenfassung
234
8. AJAX und jQuery
236
8.1 AJAX und XMLHttpRequest (XHR ) – Grundlagen
236
8.1.1 Ein XMLHttpRequest-Objekt manuell erzeugen
237
8.1.2 Die Methoden eines XHR-Objekts
238
8.1.3 Die Eigenschaften eines XHR-Objekts
240
8.1.4 Das Datenformat bei einer AJAX -Kommunikation
240
8.1.5 Exemplarischer Ablauf einer AJAX-Anfrage
246
8.1.6 AJAX mit jQuery
246
8.2 Methoden in jQuery für AJAX-Anfragen
247
8.2.1 Einfach Klartext per $.get() und $.post() vom Webserver anfordern
248
8.2.2 Daten bei der Anforderung per $.get() und $.post() zum Webserver senden
251
8.2.3 XML-Daten anfordern und verarbeiten
258
8.2.4 JSON-Daten anfordern und verarbeiten
261
8.2.5 Ein Skript per AJAX nachladen – jQuery.getScript()
267
8.2.6 Die allgemeine Variante – load()
269
8.2.7 Die vollständige Kontrolle – jQuery.ajax()
271
8.3 AJAX Events und AJAX- Eventhandler
279
8.3.1 Lokale Ereignisse
279
8.3.2 Globale Ereignisse
279
8.3.3 Events
280
8.4 jQuery.ajaxSetup()
281
8.5 Zusammenfassung
282
9. Effekte und Animationen
284
9.1 Speed is all you need
284
9.2 Anzeigen und wegblenden – die Methoden show() und hide()
285
9.3 Gleiteffekte – slideDown(), slideUp() und slideToggle()
287
9.4 Transparenzeffekte – fadeIn(), fadeOut() und fadeTo()
290
9.5 Verketten von Animationen
293
9.6 Animationen stoppen mit stop() und jQuery.fx.off
294
9.7 Selbst definierte Animationen mit animate()
294
9.7.1 animate(Params, [duration], [easing], [callback])
295
9.7.2 animate( params, options )
302
9.8 Zusammenfassung
303
10. jQuery UI
304
10.1 Was versteht man unter jQuery UI?
304
10.1.1 Unterstützung der Interaktion
305
10.1.2 Widgets
306
10.1.3 Erweiterte Effekte
306
10.1.4 Das Themen-Framework samt ThemeRoller
307
10.2 Der Einstieg
308
10.3 Wie nutzt man jQuery UI grundsätzlich?
309
10.3.1 Download und Bereitstellung
309
10.3.2 Verwenden der Komponenten in jQuery UI
312
10.4 Anpassen von Komponenten in jQuery UI
321
10.4.1 Ein praktisches Beispiel, um einen Dialog anzupassen – ein Twitter-Client
323
10.5 Anpassung der CSS-Themen auf visuelle Weise – der ThemeRoller und ein jQuery-UI-Thema erstellen
326
10.6 Komponenten genauer beleuchtet
328
10.6.1 Eigenschaften/Optionen von Komponenten
328
10.6.2 Methoden von Komponenten
328
10.6.3 Events bei Komponenten
330
10.6.4 Effekte
334
10.7 Zusammenfassung
340
11. Plug-ins
342
11.1 Die Plug-in-Seite von jQuery
342
11.1.1 Ein vorhandenes Plug-in verwenden
342
11.1.2 Über Plug-ins den klassischen PC verlassen – Aufbruch in die mobile Welt
348
11.2 Eigene Plug-ins erstellen
349
11.2.1 Warum eigene Plug-ins erstellen?
349
11.2.2 Erstellen eines ersten Plug-ins
350
11.2.3 Die wesentlichen Regeln zur Erstellung eines einfachen Plug-ins
354
11.2.4 Regeln zur Erstellung komplexerer Plug-ins
355
11.2.5 Ein Beispiel für ein Plug-in mit Optionen
356
11.2.6 Ein Twitter-Client als hochanpassbares Plug-in
359
11.3 Ein Plug-in veröffentlichen
365
11.4 Zusammenfassung
367
A. Anhang
368
A.1 Quellen
368
A.2 Buch-CD
369
Stichwortverzeichnis
370
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion





















