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% Geluksgarantie
Binnen 60 dagen na aankoop kunt u een 100% restitutie op elke Leanpub aankoop krijgen in twee klikken. We verwerken deze restituties handmatig. Het zal dus een paar dagen duren voor ze verschijnen. Zie volledige voorwaarden.
Verdien $8 bij een aankoop van $10 en $16 bij een aankoop van $20
We betalen 80% royalties bij aankopen van $7,99 of meer en 80% royalties minus een vast bedrag van 50 cent bij aankopen tussen $0,99 en $7,98. Je verdient $8 bij een verkoop van $10 en $16 bij een verkoop van $20. Dus als we 5000 niet-terugbetaalde exemplaren van je boek voor $20 verkopen, verdien je $80,000.
(Ja, sommige auteurs hebben al veel meer verdiend op Leanpub.)
In feite hebben auteurs op Leanpubmeer dan 13 miljoen dollar verdiend door te schrijven, publiceren en verkopen.
Meer informatie over schrijven op Leanpub
Gratis Updates. DRM-vrij.
Als je een Leanpub boek koopt, krijg je gratis aanpassingen aan het boek, zolang de auteur het boek aanpast! Veel auteurs gebruiken Leanpub om hun in wording boeken te publiceren, terwijl ze deze aan het schrijven zijn. Alle lezers krijgen gratis updates, onafhankelijk van het tijdstip wanneer ze het boek kochten of hoeveel ze betaalden (dus ook als ze niets betaalden).
De meeste Leanpub boeken zijn beschikbaar in PDF (voor computers) en EPUB (voor telefoon, tablets, en Kindle). De formaten die bij een boek beschikbaar zijn, worden getoond in de rechter bovenhoek van deze pagina.
Tenslotte, Leanpub boeken hebben geen DRM anti-kopieer nonsense, zodat je de boeken makkelijk kan lezen op elk toestel dat ondersteund wordt.
Lees meer over de e-boekformaten van Leanpub en waar u ze kunt lezen