Author(s): Frank Bongers, Maximilian Vollendorf
Publisher: Galileo Press
Year: 2010
Language: German
Pages: 583
Buchcover......Page 1
jQuery: Das Praxisbuch......Page 2
Liebe Leserin, lieber Leser......Page 3
Auf einen Blick......Page 4
Impressum......Page 5
Inhalt......Page 6
Vorwort......Page 12
An wen richtet sich dieses Buch?......Page 13
Und nun an die Arbeit …......Page 14
1.1 Was jQuery alles kann......Page 16
1.2 Ein Framework? Eine Community!......Page 18
1.3 Nicht ohne mein JavaScript......Page 19
1.3.1 Gründe für das Entstehen von Frameworks......Page 20
1.3.3 Aufgaben eines Frameworks......Page 21
1.3.4 Aktuelle Frameworks für JavaScript......Page 22
1.3.5 Frameworks – ein Rückblick......Page 23
1.4 jQuery – viel mit wenig erreichen......Page 24
2.1 Rechner und Betriebssystem......Page 26
2.1.3 Linux......Page 27
2.2.2 Firefox......Page 28
2.2.5 Google Chrome......Page 29
2.3 Webserver......Page 30
2.4 IDEs und Editoren......Page 31
3.1.1 JavaScript ohne jQuery......Page 36
3.2 jQuery einbinden......Page 38
3.2.1 jQuery online und offline nutzen......Page 39
3.2.3 jQuery aus dem Google Repository einbinden......Page 40
3.3 Unser Beispiel mit jQuery......Page 42
3.4 Wir haben fertig......Page 46
3.5 Das Mausereignis – Bindung eines Click-Events......Page 47
3.5.1 Zunächst – die »aufdringliche« Variante......Page 48
3.5.2 Etwas weniger aufdringlich bitte!......Page 49
3.5.3 Ein unaufdringlicher Dreizeiler, dank jQuery......Page 50
3.6 Give me more! – Verkettung von jQuery-Methoden......Page 53
3.6.1 Den Elternknoten eines Elements manipulieren......Page 54
3.7 Zusammenfassung......Page 59
4.1 Im Zentrum – das jQuery-Objekt......Page 60
4.1.1 Drei Arten von jQuery-Methoden......Page 61
4.2.1 DOM-Element oder jQuery-Objekt als Argument......Page 62
4.2.2 HTML-String als Argument......Page 64
4.2.3 Callback-Funktion als Argument......Page 66
4.2.4 CSS-Selektor als Argument......Page 67
4.3 CSS-Selektoren für die primäre Collection......Page 68
4.3.2 Mehrfachklassenselektor......Page 69
4.3.3 Gruppenund Kontextselektoren......Page 70
4.3.4 Filterausdrücke für Selektoren......Page 73
4.3.5 Inhaltsfilter......Page 76
4.3.6 Sichtbarkeitsfilter......Page 78
4.3.7 Attributfilter......Page 80
4.3.8 Child-Filter......Page 84
4.4 Accessoren – Eigenschaften der Collection......Page 87
4.5 Traversieren – ausgehend von Collections......Page 92
4.5.2 jQuery-Methoden zur Achsen-Traverse......Page 93
4.5.3 jQuery-Methoden zur erweiterten Achsen-Traverse......Page 97
4.5.4 Filtern von Collections......Page 105
4.5.5 Aufheben einer Filterung......Page 110
4.5.6 Kopieren einer Collection......Page 111
4.6 Events und Event Handling......Page 113
4.6.1 Das Eventobjekt in JavaScript......Page 114
4.6.2 Das jQuery-Eventobjekt......Page 116
4.6.3 Allgemeine Methoden zu Eventbindung......Page 122
4.6.4 Spezielle Eventbindungen (Convenience-Methoden)......Page 127
4.6.5 Erzeugen von Events......Page 130
4.6.6 Shortcut-Methoden für bestimmte Eventtypen......Page 131
4.6.7 Binden sonstiger Events......Page 135
4.7.1 Lesen, Ändern und Entfernen von Attributen......Page 136
4.7.2 Manipulation von Textund Elementinhalt......Page 138
4.7.3 Daten in Objekten speichern......Page 142
4.8.1 Filterausdrücke für Formularelemente......Page 144
4.8.2 Filter für Zustände von Formularinputs......Page 147
4.8.3 Binden von Events an Formularelemente......Page 152
4.8.4 Serialisierung von Formulardaten......Page 153
4.8.5 Extraktion von Formularfeldwerten......Page 156
4.9 DOM-Manipulation......Page 160
4.9.1 Methoden zum Einfügen von Knoten......Page 162
4.9.2 Entfernen von Knoten......Page 167
4.9.3 Ersetzen von Knoten......Page 169
4.9.4 Wrapping-Methoden......Page 170
4.10.1 Methoden für das class-Attribut......Page 174
4.10.2 CSS-Eigenschaften manipulieren......Page 180
4.10.3 Abmessungen von Containern......Page 182
4.10.4 Position von Containern......Page 183
4.11 Scrollen und Scrollposition......Page 187
4.11.1 Animationen mit jQuery......Page 190
4.11.2 Zeigen und Verstecken......Page 191
4.11.3 Slides – Zeigen und Verstecken mit Animation......Page 193
4.11.4 Fades – Zeigen und Verstecken über Opacity......Page 197
4.11.5 Utility-Methoden für Animationen......Page 200
4.11.6 Animation mehrerer CSS-Parameter......Page 203
4.11.7 Die Queue – Warteschlange für Effekte......Page 212
4.11.8 Vollständiges Beispiel zu .queue()......Page 215
4.11.9 Utilities für Queue und Animationen......Page 217
mit Ajax DOM und Ajax-Daten......Page 219
4.12.1 Grundlagen zu Ajax......Page 220
4.12.2 Daten und Datentypen für Ajax......Page 224
4.12.4 Low-level Ajax Ultilitys......Page 226
4.12.5 Utilities und Convenience-Methoden......Page 235
4.12.6 Globale Handler-Methoden......Page 246
4.13 Utilities – praktisches Dies und Das......Page 249
4.13.1 Konfliktvermeidung mit anderen Frameworks......Page 250
4.13.2 Browser und Feature Detection......Page 256
4.13.3 Utilities zur Array-Verarbeitung......Page 257
4.13.4 Utility zur Stringbearbeitung......Page 262
4.13.5 Utilities für DOM-Knotenverarbeitung......Page 263
4.13.6 Utilities für Funktionsaufrufe......Page 266
4.13.7 Objektverarbeitung und Erweiterung von jQuery......Page 268
4.13.8 Test-Utilities......Page 273
5 jQuery – der Praxiseinsatz......Page 278
5.1 Schönere Navigationen......Page 279
5.1.1 Die FlyOut-Navigation......Page 280
5.1.2 Die Tabs: Karteireiter......Page 291
5.1.3 Das Akkordeon......Page 295
5.1.4 Die Spaltennavigation......Page 299
5.1.5 Von der Spaltennavigation zum Drill-Menü......Page 308
5.1.6 Das Tree Menu......Page 310
5.1.7 Kleines Helferlein: dynamische Sitemap......Page 314
5.1.8 Zusammenfassung......Page 315
5.2.1 Tooltips......Page 316
5.2.2 Links sammeln, im Footer ausgeben......Page 319
5.2.3 Die Kobolde auf meinem Bildschirm......Page 320
5.3 Spiel mit Bildern......Page 327
5.3.1 Galerie I: einfache Slideshow......Page 330
5.3.2 Galerie II: Imagebox......Page 338
5.4 Ausgewählte Plugins......Page 349
5.5 Ajax mit jQuery einsetzen......Page 352
5.5.1 Laden von HTML-Elementen......Page 353
5.5.2 Laden von JSON......Page 365
5.5.3 Laden von JSONP......Page 370
5.6.1 Eigene Plugins entwickeln......Page 373
5.6.2 Allgemeines Muster eines jQuery-Plugins......Page 382
5.7 jQuery UI......Page 383
5.7.1 Themeroller......Page 385
5.7.2 Theme manuell bearbeiten......Page 387
5.7.3 Ein kleines Beispiel: Hintergrundfarbe animieren......Page 389
5.7.4 Klassen animieren......Page 391
5.7.5 jQuery UI-Dialog......Page 392
5.7.6 jQuery UI Accordion......Page 395
5.7.7 Exkurs: Easing Equations......Page 397
5.7.8 Zusammenfassung......Page 398
5.8.1 Formulare validieren......Page 399
5.8.2 Formulare senden mit Ajax......Page 405
5.8.3 Datepicker......Page 408
5.8.4 Nächste Ausbaustufe: Autocomplete......Page 411
5.9 Flexiblere Tabellen mit jQuery......Page 414
5.9.1 Die Zebra-Tabelle......Page 415
5.9.2 Die Tabelle sortieren......Page 418
5.9.3 Paginierung von Tabellen......Page 425
5.9.4 Grid-Plugins......Page 429
5.10 Browser und Fenster......Page 434
5.10.1 Cookies......Page 435
5.10.2 History des Browsers......Page 441
5.10.3 Flashfilme einbinden mit jQuery......Page 444
5.10.4 Scrolling......Page 447
5.10.5 Scrollen mit Geschichte......Page 451
5.10.6 Das jQuery.ScrollTo-Plugin......Page 455
5.11 Going mobile mit jQTouch......Page 461
5.11.1 Emulatoren und IDEs für Mobilgeräte......Page 462
5.11.2 Emulatoren und IDEs für iPhone......Page 463
5.11.3 Ins mobile Web mit jQuery und jQTouch......Page 467
5.11.4 Konfiguration von jQTouch......Page 479
5.11.5 Das jQTouch-Objekt referenzieren......Page 482
5.11.6 Zusammenfassung......Page 484
6 Unit Tests......Page 486
6.1 Ein Blick auf QUnit......Page 487
6.2 Assertions......Page 488
6.2.2 Test mit .equals()......Page 489
6.2.4 Module......Page 490
6.3.1 Setup......Page 491
6.3.3 Asynchrone Tests......Page 492
Anhang......Page 494
A.1 Trennungen – Struktur, Präsentation, Verhalten......Page 496
A.2 (X)HTML – Beschreibung der Struktur......Page 498
A.3 Aufbau von HTMLund XHTML-Dokumenten......Page 500
A.4 CSS – Beschreibung der Präsentation......Page 512
B.1 JavaScript – Beschreibung des Verhaltens......Page 536
B.2 Die Synthese – das Document Object Model......Page 564
C.3 Verzeichnis Software......Page 570
A......Page 572
D......Page 574
E......Page 575
I......Page 576
J......Page 577
O......Page 580
S......Page 581
T......Page 582
Z......Page 583