Efficiënt scripten met jQuery 1.11 (jQuery 2.1)
Efficiënt scripten met jQuery 1.11 (jQuery 2.1)
Ontwerpen van interactieve websites met HTML5, CSS3 en jQuery
Over het boek
jQuery is veruit de populairste freeware JavaScript bibliotheek voor het ontwerp van interactieve webpagina’s. Via eenvoudige voorbeelden en oefeningen ontdekt u de mogelijkheden van jQuery. Elk hoofdstuk behandelt een deelaspect van de bibliotheek.
Met dit boek ontwerpt u een volledig interactieve en gebruiksvriendelijke website.
Volgende onderwerpen komen aan bod:- Inleiding JavaScript.
- Integratie van de de jQuery bibliotheek.
- Selectie van elementen op een webpagina.
- Interactie met browser- en gebruikersevents.
- Animaties en effecten.
- DOM-manipulatie.
- Dynamisch gegevens ophalen via AJAX (HTML, JSON en XML).
- Cross-site scripting.
- Voldoende kennis van HTML en CSS nodig.
- Alle oefeningen in dit boek zijn geschreven in HTML5 en CSS3.
Inhoudsopgave
-
1. Voorwoord.
- 1.1 Voordelen van jQuery.
- 1.2 Inhoud van het boek.
- 1.3 Voor wie is dit boek bedoeld?
- 1.4 HTML editor.
- 1.5 Lesmateriaal bij dit handboek.
- 1.6 Errata.
-
2. Inleiding tot JavaScript.
- 2.1 Events en Actions.
- 2.2 Syntax regels.
- 2.3 JavaScript debugger.
-
2.4 Variabelen.
- 2.4.1 Variant.
- 2.4.2 Soorten variabelen.
- 2.4.3 Datatype controleren.
-
2.5 Operatoren.
- 2.5.1 Rekenkundige operatoren.
- 2.5.2 Vergelijkende operatoren.
- 2.5.3 Logische operatoren.
- 2.5.4 String operatoren.
-
2.6 Voorwaardelijke instructies.
- 2.6.1 If-else.
- 2.6.2 Switch.
-
2.7 Lussen.
- 2.7.1 For.
- 2.7.2 While.
- 2.7.3 Do-while.
-
2.8 Functies.
- 2.8.1 Functie zonder parameters.
- 2.8.2 Functie met parameters.
- 2.8.3 Functie met return-waarde.
- 2.8.4 Anonieme functie.
- 2.9 Functies in jQuery.
- 2.10 Scope (zichtbaarheid) van variabelen.
-
2.11 Objecten.
- 2.11.1 Wat is een object?
- 2.11.2 Een object aanmaken.
- 2.11.3 Een constructor functie.
- 2.11.4 Een constructor functie met default eigenschappen.
-
2.12 Ingebouwde JavaScriptobjecten.
- 2.12.1 Het JavaScriptobject: Date.
- 2.12.2 Het JavaScriptobject: Math.
- 2.12.3 Het JavaScriptobject: String.
- 2.12.4 Het browser object: History.
-
3. jQuery integratie.
-
3.1 jQuery integreren.
- 3.1.1 jQuery framework downloaden.
- 3.1.2 jQuery linken via CDN.
- 3.2 jQuery 1.x vs 2.x.
- 3.3 Javascript window.onload vs jQuery $(document).ready().
- 3.4 Unobtrusive JavaScript.
-
3.5 jQuery documentatie (API).
- 3.5.1 Getter.
- 3.5.2 Setter met één parameter.
- 3.5.3 Setter met één of meer parameters.
- 3.5.4 Setter met een anonieme functie.
- 3.6 Afgeschafte (deprecated) methodes en selectors.
- 3.7 jQuery cheat sheets.
- 3.8 jQuery in combinatie met andere JavaScriptbibliotheken gebruiken.
-
3.1 jQuery integreren.
-
4. Elementen selecteren.
-
4.1 Basis selectors.
- 4.1.1 Tags, classes en id’s.
- 4.1.2 Universele selector.
-
4.2 Hiërarchische selectors.
- 4.2.1 Descendant selector: $(‘ancestor descendant’).
- 4.2.2 Child selector: $(‘parent > child’).
- 4.2.3 Sibling selector (alle volgende) : $(‘prev ~ sibling’).
- 4.2.4 Sibling selector (dadelijk aangrenzende): $(‘prev + next’).
-
4.3 Basisfilters.
- 4.3.1 Subselecties binnen een reeks.
- 4.3.2 Inverse subselecties binnen een reeks met :not().
- 4.3.3 Overige subselecties.
-
4.4 Inhoudsfilters.
- 4.4.1 Het element bevat een bepaalde tekst :contains().
- 4.4.2 Het element bevat een bepaald element :has().
- 4.4.3 Lege (:empty) of niet lege (:parent) elementen.
-
4.5 Attribuut selectors.
-
4.5.1 Attribuut bestaat
[name]
. -
4.5.2 Attribuut is gelijk aan
[name="value"]
. -
4.5.3 Attribuut is niet gelijk aan
[name!="value"]
. -
4.5.4 Attribuut begint met
[name^="value"]
. -
4.5.5 Attribuut eindigt op
[name$="value"]
. -
4.5.6 Attribuut bevat
[name*="value"]
. -
4.5.7 Attribuut bevat meerdere filters
[filter1][filter2]
.
-
4.5.1 Attribuut bestaat
-
4.6 Childfilters.
- 4.6.1 Eerste child element :first-child.
- 4.6.2 Laatste child element :last-child.
- 4.6.3 Eerste sibling element binnen dezefde parent :first-of-type.
- 4.6.4 Laatste sibling element binnen dezefde parent :last-of-type.
- 4.6.5 Het n-de child elementen.
- 4.6.6 Het enige child element :only-child().
- 4.6.7 Het enige child element van dat type binnen dezefde parent :only-of-type().
-
4.7 Formulierfilters.
- 4.7.1 De type-selector (button, submit, reset, checkbox, …).
- 4.7.2 Overige attributen (:checked, :disabled, :enabled en :selected).
- 4.8 Zichtbaarheidsfilters.
- 4.9 Toepassing 1: gemeentelijst filteren (basisversie).
- 4.10 Toepassing 2: openingsuren markeren.
-
4.1 Basis selectors.
-
5. Selectie verfijnen (traversing).
-
5.1 Filter methodes.
- 5.1.1 First(), last() en eq().
- 5.1.2 Slice().
- 5.1.3 Filter().
- 5.1.4 Not().
- 5.1.5 Has().
- 5.1.6 Is().
- 5.2 Element looping: each().
- 5.3 Selecties in cascade: end().
-
5.4 Hiërarchische selectors.
- 5.4.1 Parent(), parents(), children() en find().
- 5.4.2 Next(), nextAll() en nextUntil().
- 5.4.3 Prev(), prevAll() en prevUntil().
- 5.4.4 Siblings().
- 5.4.5 Closest().
- 5.4.6 AddBack().
- 5.5 De snelheidstest.
- 5.6 Toepassing 1: gemeentelijst filteren (uitgebreide versie).
- 5.7 Toepassing 2: rating.
-
5.1 Filter methodes.
-
6. Events
-
6.1 Documentevents.
- 6.1.1 $(document).ready().
- 6.1.2 $(window).on(‘load’, function(){…}).
- 6.1.3 $(window).on(‘unload’, function(){…}).
-
6.2 Gebruikersevents.
- 6.2.1 Muisevents.
- 6.2.2 Formulierevent.
- 6.2.3 Toetsenbordevents.
- 6.2.4 Gebruikersevents zonder callback functie.
- 6.3 Event bubbling.
-
6.4 Event methodes en properties.
- 6.4.1 Event methodes.
- 6.4.2 Event properties.
- 6.5 Hover-event: methode met een dubbele functie.
-
6.6 De methode on().
- 6.6.1 Eén selector en meerdere events met dezelfde functie.
- 6.6.2 Eén selector en meerdere events met verschillende functies.
- 6.6.3 Live event.
- 6.7 Event handlers verwijderen.
- 6.8 Toepassing 1: reactietest.
-
6.1 Documentevents.
-
7. Animaties en effecten.
-
7.1 Basiseffecten.
- 7.1.1 Show(), hide() en toggle().
- 7.1.2 SlideUp(), slideDown() en slideToggle().
- 7.1.3 FadeIn(), fadeOut() en fadeToggle().
- 7.1.4 FadeTo().
-
7.2 Aangepaste animaties.
- 7.2.1 Simultane animaties.
- 7.2.2 Sequentiële animaties.
- 7.2.3 Simultane + sequentiële animaties.
- 7.3 Animatie pauzeren: delay().
- 7.4 Animatie beëindigen: finish().
- 7.5 Animatie afbreken: stop().
- 7.6 Versnellingsparameter.
- 7.7 Toepassing 1: vloeiend scrollen.
- 7.8 Toepassing 2: tabbladen.
-
7.1 Basiseffecten.
-
8. DOM manipulatie.
-
8.1 HTML-attributen.
- 8.1.1 attr(), removeAttr() en data().
- 8.1.2 css().
- 8.1.3 addClass(), removeClass(), toggleClass() en hasClass().
- 8.2 Object dimensies.
-
8.3 Elementen toevoegen.
- 8.3.1 Binnen de selector.
- 8.3.2 Buiten de selector.
- 8.3.3 Rond de selector.
- 8.3.4 before() vs insertBefore().
- 8.4 Elementen verwijderen.
- 8.5 Elementen vervangen.
- 8.6 Elementen klonen.
- 8.7 Toepassing 1: lightbox.
-
8.1 HTML-attributen.
-
9. Inleiding tot AJAX.
- 9.1 Historiek.
- 9.2 Wat is XML?
- 9.3 Wat is JSON?
-
9.4 Requests filteren met GET en POST.
- 9.4.1 Formulier verzenden met de GET-methode.
- 9.4.2 Formulier verzenden met de POST-methode.
- 9.4.3 GET-methode zonder formulier.
- 9.5 Zes soorten AJAX requests.
- 9.6 Same origin policy.
- 9.7 Cross-site scripting.
-
10. AJAX zonder server-side scripting.
-
10.1 Load().
- 10.1.1 Load(): HTML zonder callback.
- 10.1.2 Load(): HTML met callback.
- 10.2 $.getScript().
-
10.3 $.getJSON().
- 10.3.1 $.getJSON(): JSON met een eenvoudige literal array.
- 10.3.2 $.getJSON(): JSON met één object.
- 10.3.3 $.getJSON(): JSON met meerdere objecten.
-
10.4 $.get() en $.post().
- 10.4.1 $.get(): HTML.
- 10.4.2 $.get(): JSON met één object.
- 10.4.3 $.get(): XML.
- 10.4.4 $.get(): JSON vs. XML.
- 10.4.5 $.post().
- 10.5 $.ajax().
- 10.6 Globale AJAX event handlers.
-
10.7 Externe gegevens ophalen via JSONP.
- 10.7.1 Filminfo ophalen via IMDB.
- 10.7.2 Stadsinfo opvragen via GeoBytes.
- 10.7.3 JSONP met $.get(), $.post() of $.ajax().
-
10.1 Load().
-
11. AJAX met server-side scripting.
- 11.1 Master/detailrelatie met load().
- 11.2 Master/detailrelatie met $.get().
- 11.3 Contactformulier verzenden met $.post().
-
11.4 Cross-site scripting (XSS).
- 11.4.1 Het proxyscript.
- 11.4.2 HTML: boeken Campinia Media.
- 11.4.3 JSON: Google Maps.
- 11.4.4 XML: iTunes feed.
De Leanpub 60 Dagen 100% Tevredenheidsgarantie
Binnen 60 dagen na aankoop kun je een 100% terugbetaling krijgen op elke Leanpub-aankoop, met twee klikken.
Dit is technisch gezien een risico voor ons, aangezien je de boek- of cursusbestanden sowieso hebt. Maar we zijn zo overtuigd van onze producten en diensten, en van onze auteurs en lezers, dat we met plezier een volledige geld-terug-garantie bieden voor alles wat we verkopen.
Je kunt alleen ontdekken hoe goed iets is door het te proberen, en vanwege onze 100% geld-terug-garantie is er letterlijk geen risico om dit te doen!
Dus er is geen reden om niet op de 'In Winkelwagen'-knop te klikken, toch?
Bekijk de volledige voorwaarden...
Verdien $8 op een aankoop van $10, en $16 op een aankoop van $20
We betalen 80% royalty's op aankopen van $7.99 of meer, en 80% royalty's minus een vast bedrag van 50 cent op aankopen tussen $0.99 en $7.98. Je verdient $8 op een verkoop van $10, en $16 op een verkoop van $20. Dus als we 5000 niet-terugbetaalde exemplaren van je boek verkopen voor $20, verdien je $80,000.
(Ja, sommige auteurs hebben op Leanpub al veel meer dan dat verdiend.)
Sterker nog, auteurs hebbenmeer dan $14 miljoenverdiend met schrijven, publiceren en verkopen op Leanpub.
Leer meer over schrijven op Leanpub
Gratis Updates. DRM-vrij.
Als je een Leanpub-boek koopt, krijg je gratis updates zolang de auteur het boek bijwerkt! Veel auteurs gebruiken Leanpub om hun boeken te publiceren terwijl ze er nog aan schrijven. Alle lezers krijgen gratis updates, ongeacht wanneer ze het boek hebben gekocht of hoeveel ze hebben betaald (inclusief gratis).
De meeste Leanpub-boeken zijn beschikbaar in PDF (voor computers) en EPUB (voor telefoons, tablets en Kindle). De formaten die een boek bevat, worden rechtsboven op deze pagina weergegeven.
Ten slotte hebben Leanpub-boeken geen DRM-kopieerbeveiliging, zodat je ze gemakkelijk kunt lezen op elk ondersteund apparaat.
Lees meer over Leanpub's e-bookformaten en waar je ze kunt lezen