Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1...

28
VICTOR PETERS MET ONLINE VOORBEELDEN

Transcript of Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1...

Page 1: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

BASISCURSUSJQUERY

VICTOR PETERSVICTOR PETERS

JQUERY

In de Basiscursus jQuery maak je als beginnende gebruiker kennis met jQuery 2.1. jQuery maakt programmeren met JavaScript toegankelijk, leuk en vooral snel. Slechts enkele regels jQuery kunnen lappen JavaScript-code vervangen. Maar bovenal maakt jQuery websites levendig door een hoge mate van interactiviteit. jQuery heeft zich wereldwijd bewezen als het toonaangevende framework voor JavaScript development voor web en app. In deze Basiscursus jQuery krijg je praktische vaardigheden aangereikt die direct toegepast kunnen worden in een website. Formulieren manipuleren, elementen laten bewegen, CSS-stijlen automatisch aanpassen, reageren op user-input, foto-sliders en nog veel meer. En dat alles volledig objectgeoriënteerd. Ook Ajax komt uitgebreid aan de orde. Aan het eind van het boek, ben je vaardig met jQuery maar heb je ook meteen een schat aan voorbeelden om toe te passen in de praktijk. Deze basiscursus is geschikt voor ontwikkelaars van websites en apps en programmeurs (o.a. JavaScript en Ajax).

OVER DE AUTEUR Victor G.B. Peters is auteur van meer dan 80 titels over internet en ICT. Daarnaast is hij bedenker en maker van innovatieve applicaties die websites, mobiele telefoons, sociale netwerken en databases met de dagelijkse werkelijkheid combineren. In zijn boeken en seminars weet hij zijn publiek te overtuigen van de mogelijkheden van de nieuwe media, maar bovenal weet hij die mogelijkheden toegankelijk te maken voor een groot publiek.

BASISCURSUS

989

MET ONLINEVOORBEELDEN

978 94 6245 086 8

7400 BIM BC Cover_jQuery.indd 1 31-10-14 10:08

Page 2: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursussen en Handboeken verschenen bij Academic Service:

Basiscursus Access 2010Basiscursus Access 2007Basiscursus Access 2003Basiscursus Apps ontwikkelenBasiscursus ASP.NETBasiscursus AutoCAD 2014 en LT 2014Basiscursus AutoCAD 2013 en LT 2013Basiscursus AutoCAD 2012 en LT 2012Basiscursus AutoCAD 2011 en LT 2011Basiscursus AutoCAD 2010 en LT 2010Basiscursus AutoCAD 2009 en LT 2009Basiscursus AutoCAD 2008 en LT 2008Basiscursus AutoCAD 2007 en LT 2007Basiscursus AutoCAD 2005 en LT 2005Basiscursus AutoCAD 2004Basiscursus AutoCAD LT 2004Basiscursus Dreamweaver CS5Basiscursus Dreamweaver CS4Basiscursus Dreamweaver CS3Basiscursus Dreamweaver 8Basiscursus Dreamweaver MX 2004Basiscursus DrupalBasiscursus Excel 2013Basiscursus Excel 2010Basiscursus Excel 2007Basiscursus Excel 2003Basiscursus Excel 2002Basiscursus Flash CS5/ActionScriptBasiscursus Flash CS4Basiscursus Flash CS3Basiscursus Flash 8Basiscursus Flash MX 2004Basiscursus FrontPage 2003Basiscursus GamedesignBasiscursus GIMP, Inkscape en ScribusBasiscursus HTML 5Basiscursus HTML 4.01Basiscursus Illustrator CS4Basiscursus Illustrator CS3Basiscursus Illustrator CS2Basiscursus InDesign CS4Basiscursus InDesign CS3Basiscursus InDesign CS2Basiscursus JavaScript 1.5Basiscursus Joomla! 3.5 Basiscursus Joomla 3Basiscursus Joomla! 1.6Basiscursus Joomla! 1.5Basiscursus jQueryBasiscursus Mac OSX 10.5 LeopardBasiscursus Offi ce 365Basiscursus Offi ce 2013

Basiscursus Outlook 2013Basiscursus Outlook 2010Basiscursus Outlook 2007Basiscursus Outlook 2003Basiscursus Photoshop CS5Basiscursus Photoshop CS4Basiscursus Photoshop CS3Basiscursus Photoshop 7Basiscursus PHP 6Basiscursus PHP5.4 en mySQLBasiscursus PHP 5Basiscursus Pinnacle Studio 10Basiscursus Pinnacle Studio 9Basiscursus PowerPoint 2013Basiscursus PowerPoint 2010Basiscursus PowerPoint 2007Basiscursus PowerPoint 2003Basiscursus Project 2003Basiscursus Project 2013Basiscursus SEO & HTML5Basiscursus SQL, 2e herziene drukBasiscursus SUSE Linux 10Basiscursus UbuntuBasiscursus Ubuntu 12.04Basiscursus Ubuntu 10.04Basiscursus Visio 2013Basiscursus Visio 2010Basiscursus Visual Basic 6.0Basiscursus Windows 8.1Basiscursus Windows 8Basiscursus Windows 7Basiscursus Windows VistaBasiscursus Windows XPBasiscursus Word 2013Basiscursus Word 2010Basiscursus Word 2007Basiscursus Word 2003Basiscursus XHTML 1.0Basiscursus XML herziene editie

Handboek Excel 2013Handboek Word 2013Handboek Windows 8.1

Voor meer informatie en bestellingen:

BIM Media B.V.Postbus 162622500 BG Den HaagTel.: 070-304 67 77Website: http://www.academicservice.nl

Basiscursus JQuery.indd iiBasiscursus JQuery.indd ii 30-10-14 17:2130-10-14 17:21

Page 3: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Victor Peters

Basiscursus jQuery

Basiscursus JQuery.indd iiiBasiscursus JQuery.indd iii 30-10-14 17:2130-10-14 17:21

Page 4: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Meer informatie over deze en andere uitgaven kunt u verkrijgen bij:BIM Media B.V.Postbus 162622500 BG Den Haagtel.: (070) 304 67 77www.bimmedia.nl

Omslagontwerp: LandGraphics, AmsterdamVormgeving en zetwerk: az grafi sch serviceburo, Den HaagDruk- en bindwerk: Drukkerij Wilco, Amersfoort

ISBN 978 94 6245 086 8NUR: 989

© BIM Media B.V. 2014, Den HaagAcademic Service is een imprint van BIM Media B.V.

Alle rechten voorbehouden. Alle intellectuele eigendomsrechten, zoals auteurs- en databankrechten, ten aanzien van deze uitgave worden uitdrukkelijk voorbehouden. Deze rechten berusten bij BIM Media B.V. en de auteur.

Behoudens de in of krachtens de Auteurswet gestelde uitzonderingen, mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbe-stand of openbaar gemaakt in enige vorm of op enige wijze, hetzij elektronisch, mecha-nisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande schrif-telijke toestemming van de uitgever.

Voor zover het maken van reprografi sche verveelvoudigingen uit deze uitgave is toege-staan op grond van artikel 16 h Auteurswet, dient men de daarvoor wettelijk verschul-digde vergoedingen te voldoen aan de Stichting Reprorecht (Postbus 3051, 2130 KB Hoofddorp, www.reprorecht.nl). Voor het overnemen van gedeelte(n) uit deze uitgave in bloemlezingen, readers en andere compilatiewerken (artikel 16 Auteurswet) dient men zich te wenden tot de Stichting PRO (Stichting Publicatie- en Reproductierechten Orga-nisatie, Postbus 3060, 2130 KB Hoofddorp, www.cedar.nl/pro). Voor het overnemen van een gedeelte van deze uitgave ten behoeve van commerciële doeleinden dient men zich te wenden tot de uitgever.

Hoewel aan de totstandkoming van deze uitgave de uiterste zorg is besteed, kan voor de afwezigheid van eventuele (druk)fouten en onvolledigheden niet worden ingestaan en aanvaarden de auteur(s), redacteur(en) en uitgever deswege geen aansprakelijkheid voor de gevolgen van eventueel voorkomende fouten en onvolledigheden.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photoco-pying, recording or otherwise, without the publisher’s prior consent.

While every effort has been made to ensure the reliability of the information presented in this publication, BIM Media B.V. neither guarantees the accuracy of the data con-tained herein nor accepts responsibility for errors or omissions or their consequences.

Basiscursus JQuery.indd ivBasiscursus JQuery.indd iv 30-10-14 17:2130-10-14 17:21

Page 5: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

v

Inhoudsopgave

Inleiding 1

Hoofdstuk 1 Aan de slag met jQuery 51.1 In dit hoofdstuk 51.2 Jargon 51.3 Editors 91.4 Brackets en Firefox 101.5 Javascript toevoegen op drie manieren 131.7 De jQuery-bibliotheek 171.8 De eerste regels jQuery 201.9 Tot slot 21

Hoofdstuk 2 Snelcursus programmeren 232.1 In dit hoofdstuk 232.2 Snelcursus HTML5 232.3 Snelcursus CSS3 312.4 Snelcursus programmeren met Javascript 412.5 Tot slot 53

Hoofdstuk 3 HTML-elementen vangen 553.1 In dit hoofdstuk 553.2 De sjabloon 563.3 Een identifier vangen 593.4 JS of jQuery? 603.5 Classes in een lijst elementen 633.6 Afbeeldingen vangen 683.7 Tot slot 69

Hoofdstuk 4 Events 714.1 In dit hoofdstuk 714.2 Ready 714.3 Vele wegen naar events 724.4 Simpel, uitgebreid en compleet 724.5 this 754.6 Uitzetten 794.7 Events triggeren 80

Basiscursus JQuery.indd vBasiscursus JQuery.indd v 30-10-14 17:2130-10-14 17:21

Page 6: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQueryvi

4.8 Help met mouseover en mouseout 814.9 De muis 844.10 Klikken-en-slepen 874.11 Je eigen jQuery-functie 904.12 Verfijning 914.13 Toets-events 924.14 Gebeurtenissen met het HTML-document 934.15 Tot slot 94

Hoofdstuk 5 AJAX 955.1 In dit hoofdstuk 955.2 De server 955.3 Een tekstbestand ophalen met AJAX 965.4 HTML ophalen 1015.5 Een JS-script ophalen en uitvoeren 1035.6 JSON 1055.7 AJAX en PHP op een eigen webserver 1115.8 AJAX met een vreemde server 1155.9 Handige of nutteloze shorthand 1165.10 Shoppen bij Flickr 1175.11 Tot slot 120

Hoofdstuk 6 Formulieren en data 1216.1 In dit hoofdstuk 1216.2 Het Formulier 1226.3 Een HTML-formulieren valideren 1256.4 Verzenden met AJAX 1306.5 Radioknoppen en afrolmenu’s 1326.6 Het data-object van HTML5 en jQuery 1376.7 Een formulier maken met JSON-data 1406.8 HTML-elementen interactief beheren 1476.9 HTML-elementen verwijderen 1516.10 Veldwaarden vinden en optellen 1526.11 HTML5 <datalist> 1546.12 Tot slot 158

Hoofdstuk 7 Effecten en animaties 1597.1 In dit hoofdstuk 1597.2 Show, Hide en Toggle 1597.3 Elementen verplaatsen 1647.4 Animate 1667.5 Queue 1677.6 Easing 1697.7 Tot slot 170

Basiscursus JQuery.indd viBasiscursus JQuery.indd vi 30-10-14 17:2130-10-14 17:21

Page 7: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

viiInhoud

Hoofdstuk 8 Plugins 1718.1 In dit hoofdstuk 1718.2 jQuery UI 1718.3 Thema kiezen of alles downloaden 1728.4 Widgets 1748.5 Sortable 1808.6 Effects 1818.7 Een eigen plugin maken 1848.8 In een afzonderlijk bestand 1868.9 Tot slot 187

Register 189

Basiscursus JQuery.indd viiBasiscursus JQuery.indd vii 30-10-14 17:2130-10-14 17:21

Page 8: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1

Inleiding

jQuery is voor webbouwers een grote bouwmarkt. Het zit bomvol handige gereedschappen die het bouwen van interactieve en dynamische websites sneller en makkelijk maakt. jQuery is de belangrijkste Javascript library op dit moment en wordt in rap tempo uitgebreid door de makers ervan, maar ook door heel veel vlijtige programmeurs overal in de wereld. En jij kan daar als webbouwer mooi van profi teren.

jQuery is een bibliotheek met Javascript-functies. Vergis je echter niet: jQuery kan niets meer dan Javascript van zichzelf kan. Het is geen uitbreiding op Javascript, maar maakt alle mogelijkheden met Javascript hapklaar beschik-baar. Een soort McJavascript dus.

Wil je handig worden met jQuery, dan is enige bekendheid met Javascript noodzakelijk. jQuery is namelijk 100% Javascript en is zelf ook geschreven in Javascript. Je kunt dus niet leren programmeren met jQuery zonder Javascript te kennen. Je gebruikt ook jQuery en Javascript door elkaar heen. Zo kun je op het ene moment de Javascript-functie innerHTML() gebruiken en even later de jQuery-functie html().

jQuery is net als Javascript zelf volledig object-georiënteerd. Wil je optimaal van jQuery profi teren, dan zul je ook dit OOP-fenomeen moeten omarmen. Bij het leren van jQuery met dit boek gebeurt dat gaandeweg vanzelf. In Hoofdstuk 7 resulteert dat in twee eigen jQuery plugins. Geen losstaande functies, maar jQuery-objecten met eigenschappen en methoden. In dat zelfde hoofdstuk bouw je zelf je eigen Twitter-light variant, die ook gevoed wordt met input van andere lezers van dit boek.

Een nieuwe basiscursusDit boek is een echte basiscursus. Je hoeft geen expert te zijn in HTML, CSS of Javascript, maar moet wel enigszins bekend zijn met de uitgangspunten en werking van deze drie pijlers waarop elke webpagina rust. Je moet ook een beetje kunnen programmeren met Javascript. Met jQuery of een van de vele andere libraries voor Javascript hoef je niet bekend te zijn.

Basiscursus JQuery.indd 1Basiscursus JQuery.indd 1 30-10-14 17:2130-10-14 17:21

Page 9: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery2

Dit boek loodst je langs de beginselen van jQuery. Omdat jQuery bijzonder toegankelijk is, zul je al snel complexe taken kunnen uitvoeren, mede dankzij de duidelijke uitleg, de voorbeelden en de zichtbare resultaten in dit boek.

Aan het eind van dit boek zijn de structuren van jQuery gesneden koek voor je en kun je elk element in een HTML-pagina naar hartenlust manipuleren. Bovenal kun je de vele aspecten van jQuery die niet in dit boek aan de orde komen eenvoudig zelf uitzoeken en begrijpen.

Waarvoor gebruik je jQuery?jQuery gebruik je om webpagina’s dynamisch en interactief te maken en dat zo snel en eenvoudig als mogelijk. Elementen in de webpagina krijgen alle-maal hun eigen gedrag dat kan veranderen aan de hand van input door de gebruiker. Dynamische webpagina’s kunnen elke keer weer anders zijn. Elk element in de webpagina kan zelfstandig communiceren met de webserver en zo onmerkbaar reageren op gebruikersinput of veranderen als de webser-ver daar aanleiding toe geeft.

Indeling van dit boekIn hoofdstuk 1 word je bekend gemaakt met het jargon van webbouwers. Je leert waar je jQuery vandaan moet halen en hoe je dit in je eigen webpagina’s invoegt In hoofdstuk 2 worden belangrijke aspecten van HTML5, CSS3 en Javascript toegelicht die ook voor menig webbouwer die zichzelf al ervaren vindt nog weleens verhelderend kunnen zijn. Verplichte kost in elk geval. Vanaf Hoofdstuk 3 ga je met heel veel voorbeelden en projecten aan de slag, die allemaal ook als voltooid project te downloaden zijn.

Teksten die in dit lettertype gedrukt zijn, bevatten HTML-, CSS- of Javascript/jQuery-code.

Toetsen die op het toetsenbord moeten worden ingedrukt staan vet gedrukt.

• Sommige voorbeelden in dit boek zijn opgebouwd als oefening. Elke stap in de oefening die je moet uitvoeren, is op deze wijze weergegeven.

De namen van functies, elementen en variabelen zijn cursief in de tekst geplaatst, zodat je ze kunt onderscheiden van het jargon dat soms dezelfde woorden kent.

Extra informatie, tips en waarschuwingen herken je aan deze vormgeving.

Basiscursus JQuery.indd 2Basiscursus JQuery.indd 2 30-10-14 17:2130-10-14 17:21

Page 10: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

3Inleiding

VoorbeeldbestandenVanaf Hoofdstuk 2 wordt gewerkt met voorbeelden. Alle voorbeelden die in dit boek gebruikt worden, zijn te downloaden vanaf:

http://download.jeex.eu/bim/basiscursus-jquery/

Daar vind je ook een eenvoudige Twitter-variant speciaal voor de lezers van dit boek: jQuetter.

jQuetter is gemaakt in een halve dag dankzij jQuery.

Deze webpagina is volledig te bouwen op basis van kennis en vaardigheden die te leren zijn met dit boek.

Figuur 0.1: Te downloaden voorbeeldbestanden

Basiscursus JQuery.indd 3Basiscursus JQuery.indd 3 30-10-14 17:2130-10-14 17:21

Page 11: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

5

111 Aan de slag met jQuery

jQuery is een bibliotheek voor Javascript. Zoveel is duidelijk. Normaal gespro-

ken raadpleeg je een bibliotheek, je zoekt er iets op in een boek, of je leent

een boek. De bibliotheek van jQuery zelf hoef je feitelijk nooit van binnen te

bekijken, je gebruikt hem gewoon. In dit hoofdstuk zorgen we op verschil-

lende manieren dat de bibliotheek toegankelijk is voor onze webpagina. In dit

hoofdstuk wordt ook de sjabloon voor de oefenprojecten van dit boek samen-

gesteld en wordt handige software voor het schrijven van webpagina’s

bekeken.

1.1 In dit hoofdstuk

– Wordt het nodige jargon gesproken– Wordt de editor Brackets gekozen en geïnstalleerd– Wordt Firefox voorzien van twee zeer handige add-ons– Wordt een werksjabloon klaargezet voor alle oefeningen in dit boek– Worden de eerste regels jQuery geschreven

1.2 Jargon

Om te voorkomen dat we met allerlei vaktaal dit hele boek onbegrijpelijk maken, moet er wat jargon worden uitgelegd.

Webpagina of websiteZo spreken we in dit boek altijd over een webpagina en nauwelijks over een website, omdat een website nu eenmaal een verzameling van webpagina’s is en je pagina voor pagina in elkaar zet. Feitelijk is het maken van een webpa-gina geen programmeren, maar coderen. Je codeert met HTML en CSS een webpagina en je programmeert met Javascript de zaken die in een webpagina geautomatiseerd moeten worden.

HTMLHTML is namelijk geen programmeertaal, maar een codeertaal. HyperText Markup Language betekent letterlijk Hypertext opmaaktaal. En dat klopt, want met HTML leg je vast waar iets in een webpagina ligt, meer niet. Je

Basiscursus JQuery.indd 5Basiscursus JQuery.indd 5 30-10-14 17:2130-10-14 17:21

Page 12: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery6

schrijft dus een webpagina. Programmeren komt elders in het proces aan de orde.

Dit boek gebruikt alleen HTML5. Dat betekent dat alleen browsers die HTML5 ondersteunen de projecten goed in beeld brengen. Internet Explorer 8 en ouder zouden dus zaken verkeerd in beeld kunnen brengen of bepaalde scripts niet goed kunnen uitvoeren.

CSSCSS staat voor Cascading Style Sheet. Oftewel: een stijlblad met een hiërarchi-sche structuur (vandaar het woord Cascading). Je gebruikt HTML om de ver-schillende elementen van een webpagina een ordening te geven en een plek in de webpagina. Je gebruikt CSS om deze elementen van een vorm en een uiterlijk te voorzien, maar ook om het gedrag van het uiterlijk, of de plek te bepalen. Dat laatste is een beetje verwarrend, omdat dat ook met HTML gebeurt. In het volgende hoofdstuk (Snelcursus programmeren) wordt dit dui-delijk gemaakt aan de hand van voorbeelden.

ServerWil je de werking van het web goed begrijpen, dan moet je eerst duidelijk onderscheiden wat een server doet en wat een client doet. Een webserver is een computer waarop de website geparkeerd staat. Deze computer krijgt van een bezoeker het verzoek om een webpagina te verschaffen. De webpagina die door de server wordt opgestuurd is niets anders dan een lap gecodeerde tekst (HTML en wellicht nog CSS en Javascript) die door het internet gescho-ten wordt richting computer en browser van de bezoeker.

ClientDe client is de computer, of eigenlijk de browser, van de bezoeker van een website. Deze browser doet het meeste werk voor het weergeven van de web-pagina. De lap gecodeerde tekst (HTML) bevat allerlei verwijzingen naar andere bestanden, zoals afbeeldingen, movies, Flash-, CSS- en Javascript-be-standen. Al deze zaken worden door de browser bij de desbetreffende webser-vers ‘besteld’ en worden vervolgens als één geheel weergegeven. In feite kan één webpagina een beroep doen op tientallen servers, zonder dat je daar als bezoeker iets van merkt.

PHP PHP is een zeer populaire programmeertaal op het web en wordt vaak uit onwetendheid op één hoop gegooid met HTML en andere webtalen. PHP is een programmeertaal die draait op een webserver. PHP stelt de HTML-pagina samen die naar de browser wordt gestuurd en voegt daar vaak inhoud aan toe uit een database. PHP valt volledig buiten beschouwing in dit boek, op één aspect na: de samenhang met Javascript en jQuery middels AJAX.

De webbouwer die al deze tools (HTML, CSS, PHP, jQuery) gebruikt om een webpagina te maken, heeft als schone taak om zoveel mogelijk van de auto-matisering te laten gebeuren in de client (de browser dus) middels Javascript

Basiscursus JQuery.indd 6Basiscursus JQuery.indd 6 30-10-14 17:2130-10-14 17:21

Page 13: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 7

en jQuery, en zo min mogelijk met PHP te doen. Alles wat de browser kan, hoeft de server niet te doen. Alles wat met Javascript en jQuery kan, hoeft PHP niet te doen. Dit om de website zo snel mogelijk te maken en de server zo min mogelijk te belasten.

MySQLMySQL is de naam van een databaseprogramma. Concurrenten van MySQL zijn PostgreSQL en Micrososft SQL . Om deze database te bereiken wordt bin-nen bijvoorbeeld PHP de aparte programmeertaal SQL gebruikt (Structured Query Language). SQL is in basis voor alle databaseprogramma’s hetzelfde, maar elk merk heeft toch weer z’n eigen specifi eke opdrachten. MySQL is net als PHP de standaard voor 95% van alle hostingpakketten. Elk huis-tuin-en-keuken hostingpakket biedt standaard MySQL als database en PHP als pro-grammeertaal.

Javascript (JS)Javascript heeft feitelijk niets te maken met de programmeertaal Java. Javas-cript is ontwikkeld door het inmiddels ter ziele gegane Netscape. Netscape was ooit een vooruitstrevende browser die min of meer voortleeft in Mozilla Firefox. Javascript is in tegenstelling tot HTML en CSS een echte program-meertaal. Het is geen kinderachtig scripting-taaltje, maar een heuse 100% object-georiënteerde programmeertaal. Javascript is dé programmeertaal van het web, maar neemt ook in de wereld van de mobile apps een steeds belang-rijkere plek in. Het leren van Javascript is een geweldige – zo niet de beste – investering in de toekomst van een programmeur.

Javascript librariesJavascript libraries zijn bibliotheken die het werken met Javascript en HTML/CSS makkelijker moeten maken. jQuery is een van die libraries, maar er zijn er vele: Prototype, MooTools, YUI, Ext JS, Dojo, script.Acolo.us, UIZE, AngularJS en nog veel meer. Libraries hebben vaak beperkte functionaliteit voor een specifi eke taak. Sommige richten zich alleen op AJAX, andere op het manipu-leren van HTML-elementen of op animaties in de webpagina. jQuery is een algemene library die uitgebreid kan worden met plugins voor specifi eke taken. jQuery is veruit de populairste library voor Javascript en wordt door heel veel vlijtige programmeurs van extra plugins voorzien.

DOMDocument Object Model (DOM ) is een veelgebruikte term die duidt op het feit dat HTML opgebouwd is uit objecten. Elk object is als zodanig te benade-ren en te beïnvloeden. Met jQuery kan dat bijzonder handig.

GUIGraphical User Interface (GUI ) duidt op alles wat de gebruiker (in dit geval de bezoeker van een webpagina) ziet en kan doen: de grafi sche gebruikersschil dus. Zoals klikken op een knop of schuiven met een afbeelding. Ook hierin kan jQuery en met name de jQuery plugin UI veel betekenen.

Basiscursus JQuery.indd 7Basiscursus JQuery.indd 7 30-10-14 17:2130-10-14 17:21

Page 14: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery8

AJAXAJAX staat voor Asynchronous Javascript and XML. In de beginjaren van AJAX werd alles op en rond Javascript ineens AJAX genoemd, terwijl het slechts een klein onderdeeltje is. Eigenlijk is AJAX niets meer dan een regeltje of tien aan Javascript-code. Dankzij JSON wordt XML steeds minder gebruikt binnen AJAX en zou je dus eigenlijk van AJAJ moeten spreken (Asynchronous Java-script and JSON).

Het belang van AJAX is enorm geweest binnen de ontwikkeling van internet. Zonder AJAX kan een webpagina alleen maar veranderen door vervangen te worden door een nieuwe webpagina. Wordt een formulier in een webpagina opgestuurd naar de server, dan wordt vervolgens een compleet nieuwe web-pagina door de server naar de browser gestuurd. Dankzij AJAX kan ditzelfde formulier worden verzonden en een antwoord ontvangen, zonder verder iets aan de webpagina te wijzigen. In één webpagina kunnen meerdere AJAX-pro-cessen draaien, waardoor een webpagina bijzonder interactief kan zijn en informatie van allerlei externe bronnen kan verwerken. AJAX heeft een pro-minente plek in jQuery en heeft een eigen hoofdstuk in dit boek.

Figuur 1.1: Het hart van AJAX in jQuery: slechts vijf regeltjes regelen de volledige

communicatie tussen de webpagina en de server

JSONNet zo’n belangrijk fenomeen als AJAX. JSON is de fastfood-variant van XML. Beide zijn coderingen waarmee data verstuurd kunnen worden van browser naar server en terug. Wil je een naam en adres en woonplaats vanuit een for-mulier in de webpagina naar de server sturen, dan moet de server begrijpen wat de naam is, wat het adres en wat de woonplaats. In JSON-codering zou dat zoiets worden als:

{ “naam”:”Victor Peters”, “adres”:”Molenweg”, “woonplaats:”Oudeschip” }

Elk gegeven bestaat uit een sleutelwaardepaar, gescheiden door een dubbele punt. In XML zou dat een stuk complexer worden. JSON maakt het eenvoudig. Zowel PHP als Javascript hebben enkele eenvoudige functies om objecten en arrays om te zetten in JSON en terug.

Figuur 1.2: JSON als tekst, zoals het terugkomt van een server-script. Javascript kan deze

tekst uitrafelen tot een object met daarin twee arrays

Basiscursus JQuery.indd 8Basiscursus JQuery.indd 8 30-10-14 17:2130-10-14 17:21

Page 15: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 9

1.3 Editors

Voor het schrijven van HTML, Javascript of CSS is geen speciale software nodig. Eigenlijk kan het met elk programma dat platte tekst kan maken. Word, OpenOffi ce, of de OSX-variant Pages zijn daardoor ongeschikt, want die pro-gramma’s zijn bestemd voor het opmaken van tekst. HTML, CSS en Javascript vragen om de meest simpele tekstverwerkers. Zelfs Windows Kladblok en de standaard Teksteditor van OSX zijn niet geschikt voor het schrijven van web-code, omdat ze stiekem toch allerlei zaken soms mooier maken dan nodig is. Zo worden aanhalingstekens vervangen door ‘mooiere’ exemplaren. Kortom: we zitten hier met een luxeprobleem, dat gelukkig eenvoudig is op te lossen.

WYSIWYG Er zijn op het web eindeloos veel handige en minder handige programma’s te vinden om webcode te schrijven. Erg populair is Adobe Dreamweaver , maar eigenlijk is dat schieten met een kanon op een mug. Om goed te leren coderen met HTML en te leren programmeren met Javascript en jQuery is een zoge-naamde WYSIWYG-editor (What You See Is What You Get) niet handig. Wil je dit toch, dan is het Mozilla-project SeaMonkey een aardig en gratis alternatief voor Dreamweaver.

Figuur 1.3: SeaMonkey is vrijwel identiek aan het aloude Netscape-pakket en bevat de

WYSIWYG-editor Composer

Developer tools: NetBeans en BracketsWat dan wel? Twee ontwikkeltools zijn cross-platform en bieden heel veel functionaliteit voor de programmeur, zoals kleurcodering en syntaxcontrole. De eerste is NetbBeans. Dit is gratis en is erg handig voor het beheren en publiceren van webprojecten. NetBeans bevat ingebouwde FTP-functionali-teit waardoor bewerken en publiceren in één moeite doorgaan.

Een tweede leuk en nieuw platform is Adobe Brackets. Hoewel eigendom van Adobe, is het ook een Open Source-project. Iedereen kan plugins en thema’s bijdragen. Het leukste is: Brackets is gemaakt met HTML5, CSS3 en JavaScript, verpakt in een eigen standalone browser. Brackets is vederlichte software, cross-platform en zeer gebruiksvriendelijk. In dit boek wordt met Brackets gewerkt.

Basiscursus JQuery.indd 9Basiscursus JQuery.indd 9 30-10-14 17:2130-10-14 17:21

Page 16: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery10

Figuur 1.4: Brackets: vederlicht en boordevol functionaliteit

Uiteindelijk is het maken van webcode (HTML, CSS en JS) simpel typewerk. Hoewel met editors als Dreamweaver wel HTML en CSS gegenereerd kunnen worden, vragen Javascript en jQuery om simpel typewerk. Vandaar in dit boek de keuze voor een droog pakket als Brackets.

1.4 Brackets en Firefox

In dit boek wordt Brackets dus gebruikt als editor voor HTML, CSS en Javas-cript/ jQuery. Als browser wordt Firefox gebruikt, met daarin de Add-ons Fire-bug en Live HTTP Headers. Deze combinatie verschaft veel informatie die nuttig of zelfs noodzakelijk is om een applicatie te bouwen.

Brackets downloaden en installerenZoek op de woorden ‘download’ en ‘brackets’ of surf naar http://brackets.io. Klik op de knop Download Brackets. Dat brengt je bij GitHub , de thuisbasis van heel veel open source-projecten, waaronder Brackets.

Figuur 1.5: Brackets.io

Bij GitHub kun je uit verschillende downloads kiezen waaronder een installer voor de Mac en een voor Windows. Heb je een Mac, dan kies je voor de versie die eindigt op .dmg. Heb je Windows, dan kies je voor de .msi-versie. Beide zijn kant-en-klare installers die weinig toelichting behoeven.

Basiscursus JQuery.indd 10Basiscursus JQuery.indd 10 30-10-14 17:2130-10-14 17:21

Page 17: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 11

Figuur 1.6: MSI voor Windows, DMG voor OSX

Het is een aanrader om op GitHub ook de thema’s en invoegtoepassingen (plugins) te bekijken. Daar vind je behalve heel veel extra ‘smaakjes’ ook de nodige uitbreidingen voor het herkennen van code, automatische aanvulling en foutopsporing. In de voorbeelden bij dit boek worden geen invoegtoepas-singen gebruikt, wel zijn de tekstkleuren aangepast voor optimale leesbaar-heid.

Voor het ontwikkelen van webpagina’s en met name interactieve websites, is Firebug een bijzonder handige tool. Firebug is een extensie (add-on) voor Firefox, dus heb je ook Firefox nodig. Deze browser kun je gratis downloaden van http://mozilla.org.

Figuur 1.7: Add-ons in Firefox

Gebruik de opdracht Add-ons in het menu Extra van Firefox om Add-ons toe te voegen aan Firefox. Download en activeer de add-ons Firebug en Live HTTP Headers.

Basiscursus JQuery.indd 11Basiscursus JQuery.indd 11 30-10-14 17:2130-10-14 17:21

Page 18: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery12

Firebug gebruikenFirebug is na installatie te activeren via het menu Extra, maar kan ook met de rechtermuisknop aangezet worden.

Figuur 1.8: Firebug gebruiken

• Surf naar een willekeurige website, of naar de webpagina waaraan je werkt.• Klik met de rechtermuisknop op een element waarvan je meer wilt weten.• Kies Element inspecteren met Firebug in het snelmenu dat verschijnt.

Figuur 1.9: Het DOM-element is geselecteerd in de webpagina en de HTML-code is zichtbaar

in het Firebug-paneel onderin Firefox

Figuur 1.10: Twee andere mooie opties van Firebug: Cookies en Console

Basiscursus JQuery.indd 12Basiscursus JQuery.indd 12 30-10-14 17:2130-10-14 17:21

Page 19: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 13

Het tabblad Cookies toont alle cookies die voor de getoonde webpagina gela-den worden. Het tabblad Console kun je mooi gebruiken voor extra output van de Javascripts die je ontwikkelt. Beide onderdelen komen in dit boek aan de orde.

Live HTTP Headers gebruikenLive HTTP Headers is net als Firebug via het menu Extra te activeren. Deze add-on opent een dialoogvenster dat de headers van de webpagina laat zien.

Figuur 1.11: Headers en GET- en POST-requests

Op het tabblad Generator kun je alle data en requests vinden die tussen ser-vers en browser heen en weer gaan. Ook handig voor het opsporen van fouten in AJAX-scripts.

Dit zijn alle tools waar dit boek mee werkt: een simpele en gratis code-editor en een browser met wat extra ontwikkeltools. Met deze gereedschappen kun je jezelf bekwamen in jQuery, maar je kunt er ook bijvoorbeeld een concur-rent voor Facebook mee ontwikkelen. Meer heb je niet nodig.

1.5 Javascript toevoegen op drie manieren

Nu de gereedschappen klaar zijn voor gebruik, wordt het tijd om de eerste regels Javascript te schrijven in een simpele webpagina. Javascript wordt in de loop van dit boek vaak als JS geschreven, als onderscheidt van jQuery.Javascript -code kan op drie manieren in een webpagina worden verwerkt. De eerste manier is door de volledige code toe te voegen aan de <head> sectie van de webpagina.

Basiscursus JQuery.indd 13Basiscursus JQuery.indd 13 30-10-14 17:2130-10-14 17:21

Page 20: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery14

Figuur 1.12: Een simpele alert in JS op regel 7

In dit voorbeeld staat de JS-code in de HTML-pagina en wordt uitgevoerd voordat de <body> en dus de inhoud van de webpagina wordt getoond. HTML wordt nu eenmaal simpel van boven naar beneden geladen en uitgevoerd.

<script type=”text/javascript”> alert(“Hallo Javascript”);</script>

De tag in de eerste regel laat aan de browser weten dat er een stukje JS volgt dat in de derde regel weer wordt afgesloten. De middelste regel tovert een dialoogvenster tevoorschijn met een groet.

Figuur 1.13: “Hallo Javascript”

Hoewel bovenin de geëigende plek is voor JS-code, kan dat eigenlijk op elke plek in de webpagina gebeuren. Soms is het zelfs nodig om JS-code helemaal onderin de webpagina te zetten, omdat eerst alle elementen van de webpa-gina geladen moeten zijn om het script correct uit te voeren. De uitgebreide bezoekerteller Google Analytics is daar een voorbeeld van.

Figuur 1.14: Zelfde code, andere plek, andere uitvoering

Basiscursus JQuery.indd 14Basiscursus JQuery.indd 14 30-10-14 17:2130-10-14 17:21

Page 21: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 15

In dit tweede voorbeeld verschijnt eerst de webpagina in beeld en dan wordt pas de alert getoond. Het moge duidelijk zijn, dat dit fenomeen ook tot pro-blemen kan leiden in de executie van scripts, met name als elementen dyna-misch worden geladen. jQuery biedt daar een mooie oplossing voor.

Extern is beterDe methode die de voorkeur heeft is een extern JS-bestand. Dat houdt het project overzichtelijk en maakt de kans op fouten aanzienlijk kleiner.

Figuur 1.15: Ons HTML-script bevat nu in één regel een verwijzing naar een afzonderlijk

bestand met de extensie .js

Figuur 1.16: In het afzonderlijke bestand staat weer dezelfde alert

Ook in dit voorbeeld wordt eerst het Javascript geladen en uitgevoerd en pas daarna wordt de rest van de webpagina geladen.

Je kunt dit voorbeeld downloaden: js1.zip.

1.6 De sjabloon voor dit boek

Op vergelijkbare wijze als het Javascript-bestand kun je ook een CSS-bestand invoegen. De voorbeelden in dit boek zijn op deze manier opgebouwd. Elk HTML-voorbeeld gaat gepaard met een CSS-bestand en een JS-bestand. De jQuery-code plaats je vrijwel altijd in het JS-bestand.

Om te zorgen dat jouw resultaten overeenkomen met die in dit boek, begint elk voorbeeld met een sjabloon die je kunt downloaden. In elk hoofdstuk wordt een nieuw voorbeeldproject gestart, waarbij deze sjabloon de basis vormt.

Basiscursus JQuery.indd 15Basiscursus JQuery.indd 15 30-10-14 17:2130-10-14 17:21

Page 22: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery16

De sjabloon bestaat uit vier bestanden:

sjabloon.html

Figuur 1.17: In sjabloon.html komen alle andere sjabloon-bestanden bij elkaar. Dit is

gevalideerd als HTML 5

sjabloon.css

Figuur 1.18: In sjabloon.css (gevalideerd volgens de CSS 3-norm) wordt de stijl van de

elementen aangebracht. Zoals de achtergrond van de <body> en de positie van het element

<main>

sjabloon.js

Figuur 1.19: sjabloon.js wordt het werkbestand voor onze JS- en jQuery-code

Basiscursus JQuery.indd 16Basiscursus JQuery.indd 16 30-10-14 17:2130-10-14 17:21

Page 23: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 17

sjabloon.pngDe achtergrondafbeelding voor de <body> wordt gevormd door een herha-lend patroon van sjabloon.png.

Ons voorbeeld heeft dankzij de aangebrachte stijl al meteen een eigen uiter-lijk gekregen. Het staat je natuurlijk geheel vrij om aan deze stijl je eigen draai te geven.

Figuur 1.20: In het witte kader worden bij veel voorbeelden de resultaten weergegeven

1.7 De jQuery-bibliotheek

Nu alles in de startblokken staat, moet nog de bibliotheek van jQuery worden toegevoegd. Dat kan ook weer op drie manieren. Voor dat gebeurt, brengen we een bezoek aan de thuisbasis van jQuery.

• Surf naar http://jquery.com.

• Klik op de grote knop Download jQuery.

Zeker tot ver in 2015 zal jQuery in twee versies worden aangeboden: de 1.x versie en de 2.x versie. De eerste biedt nog ondersteuning aan de oudere ver-sies van Internet Explorer (6, 7 en 8), de tweede doet dat niet. Inhoudelijk zijn er nog nauwelijks verschillen, maar versie 2.x wordt met het oog op de toe-komst synchroon met 1.x ontwikkeld. Aangezien er nog bijzonder veel com-puters met IE8 draaien, is de 1.x versie voorlopig de beste keuze.

CDNDe makkelijkste manier om jQuery in te voegen in een pagina is door gebruik te maken van een zogenaamde CDN , een Content Delivery Network. Dit zijn webservers waar het jQuery-bestand kan worden geleend zonder deze eerst te downloaden naar je eigen webserver. MaxCDN is zo’n server.

Figuur 1.21: jQuery invoegen vanaf een CDN

Basiscursus JQuery.indd 17Basiscursus JQuery.indd 17 30-10-14 17:2130-10-14 17:21

Page 24: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery18

• Voeg in de lege regel 8 van de sjabloon de volgende regel code toe:

<script src=“http://code.jquery.com/jquery-1.11.0.min.js”></script>

Op het moment van schrijven is versie 1.11.0 de laatste versie op MaxCDN, dat kan later natuurlijk anders zijn. Zorg dus altijd voor de meest recente 1.x versie.

Op het moment dat sjabloon.html geopend wordt in de browser, wordt de jQuery-bibliotheek van de servers van jQuery.com gehaald.• Om te testen of alles goed gegaan is, plaatsen we één simpel regeltje in

sjabloon.js:

alert( $ );

• Open (of ververs) sjabloon.html in de browser.

Figuur 1.22: jQuery werkt

Werkt alles naar behoren, dan verschijnt een dialoogvenster met daarin de hoofdfunctie van jQuery. Alles wat jQuery te bieden heeft, is bereikbaar mid-dels het object $.

De min-versie invoegenDe tweede manier om jQuery toe te voegen aan je site, is door deze te down-loaden van jQuery.com en te uploaden naar je eigen webserver. Voordeel is dat je site nu niet afhankelijk is van de uptime van een CDN.

Op het moment van schrijven biedt de CDN versie 1.11.0 als laatste versie aan, terwijl versie 1.11.1 al kan worden gedownload.

• Klik in de downloadpagina van jQuery.com op de link Download the com-pressed, production jQuery 1.11.1.

Het jQuery-bestand wordt als lap code in de browser getoond.

• De handigste weg is nu om een lege map te maken in je projectmap met de naam jquery.

Basiscursus JQuery.indd 18Basiscursus JQuery.indd 18 30-10-14 17:2130-10-14 17:21

Page 25: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 19

• Maak daarin een leeg bestand met de naam jquery.-1.11.1.min.js (zorg voor de nieuwste versie).

• Kopieer en plak daarin de code uit het browservenster.

Figuur 1.23: Een lap vol onleesbare Javascript-code

• Maak van regel 8 in de HTML-sjabloon nu het volgende:

<script src=”./jquery/jquery-1.11.1.min.js”></script>

• Ververs opnieuw sjabloon.html in de browser. Is alles goed, dan verschijnt weer de cryptische alert in beeld.

De volledige jQuery-versiejQuery is in twee vormen in de site te plaatsen: als min-bestand en als volledig bestand. Het min-bestand is zover als mogelijk gecomprimeerd ten behoeve van optimale snelheid. De volledige versie is leesbaar en dat kan handig zijn bij het maken van jQuery-projecten, bijvoorbeeld om fouten op te sporen in je code, om zelf plugins voor jQuery te maken of om zaken in jQuery naar je eigen hand te zetten. Aangezien dit een basiscursus is, gebruiken we de min-versie.

Het downloaden en invoegen van de leesbare versie gebeurt hetzelfde als bij de min-versie. Let erop dat je in je HTML-bestand nooit meer dan één jQuery-versie aanhaalt.

Basiscursus JQuery.indd 19Basiscursus JQuery.indd 19 30-10-14 17:2130-10-14 17:21

Page 26: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

Basiscursus JQuery20

1.8 De eerste regels jQuery

Deze oefening kun je doen met de voorbeeldbestanden in sjabloon.zip.

Eerder in dit hoofdstuk werd een algemeen Javascript-probleem besproken: wanneer en in welke volgorde wordt iets geladen in de webpagina en wanneer kun je daar een Javascript op loslaten?

Als een HTML-element nog niet geladen is, kun je er met JS en dus ook jQuery niets mee doen. Wil je een jQuery-opdracht losloten op bijvoorbeeld de kop-regel van de webpagina, dan zal deze kopregel <h3> eerst geladen moeten zijn. Om dit probleem te tackelen, bevat jQuery het event document.ready().

Ready wacht tot alle elementen van het ‘document’ geladen zijn. Met $(docu-ment) wordt het volledige object van de HTML-pagina benaderd. Als dit object klaar (ready) is, wordt daar een zogenaamde handler op uitgevoerd. In bovenstaand voorbeeld is dat een ter plekke gedefi nieerde functie met daarin een simpele alert.

Figuur 1.24: Ready

• Vervang in sjabloon.js alle inhoud door de volgende regels code:

$(document).ready( function() { alert( ‘De pagina is geladen.’ );} );

Let er daarbij op dat alle haakjes en accolades open en weer dicht gaan op de juiste plek. De spaties tussen de haken en accolades hebben geen invloed of functie, maar dienen om de leesbaarheid van de code optimaal te maken.

• Herlaad sjabloon.js in de browser. Als het goed is, verschijnt daarin de alert, maar pas als de hele webpagina zichtbaar is.

Figuur 1.25: Aantekeningen met //

• Plaats tot slot twee slashes voor regel 2, zodat deze regel door JS als notitie wordt beschouwd en niet meer wordt uitgevoerd. Wil je testen of jQuery werkt in een webpagina, dan hoef je alleen maar deze twee // weg te halen.

Basiscursus JQuery.indd 20Basiscursus JQuery.indd 20 30-10-14 17:2130-10-14 17:21

Page 27: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

1 • Inleiding 21

1.9 Tot slot

Figuur 1.26: De sjabloonmap

Daarmee is de sjabloon compleet en kan het echte werk beginnen. Bewaar deze sjabloon als map en start elk project met deze blanco sjabloon. In het volgende hoofdstuk raast een spoedcursus HTML, CSS en programmeren met Javascript langs. Dit alles om het werken met jQuery zo makkelijk mogelijk te maken.

Basiscursus JQuery.indd 21Basiscursus JQuery.indd 21 30-10-14 17:2130-10-14 17:21

Page 28: Basiscursus JQuery - boomhogeronderwijs.nl · Inleiding 1 Hoofdstuk 1 Aan de slag met jQuery 5 1.1 In dit hoofdstuk 5 1.2 Jargon 5 1.3 Editors 9 1.4 Brackets en Firefox 10 1.5 Javascript

BASISCURSUSJQUERY

VICTOR PETERS

VICTOR PETERSJQUERY

In de Basiscursus jQuery maak je als beginnende gebruiker kennis met jQuery 2.1. jQuery maakt programmeren met JavaScript toegankelijk, leuk en vooral snel. Slechts enkele regels jQuery kunnen lappen JavaScript-code vervangen. Maar bovenal maakt jQuery websites levendig door een hoge mate van interactiviteit. jQuery heeft zich wereldwijd bewezen als het toonaangevende framework voor JavaScript development voor web en app. In deze Basiscursus jQuery krijg je praktische vaardigheden aangereikt die direct toegepast kunnen worden in een website. Formulieren manipuleren, elementen laten bewegen, CSS-stijlen automatisch aanpassen, reageren op user-input, foto-sliders en nog veel meer. En dat alles volledig objectgeoriënteerd. Ook Ajax komt uitgebreid aan de orde. Aan het eind van het boek, ben je vaardig met jQuery maar heb je ook meteen een schat aan voorbeelden om toe te passen in de praktijk. Deze basiscursus is geschikt voor ontwikkelaars van websites en apps en programmeurs (o.a. JavaScript en Ajax).

OVER DE AUTEUR Victor G.B. Peters is auteur van meer dan 80 titels over internet en ICT. Daarnaast is hij bedenker en maker van innovatieve applicaties die websites, mobiele telefoons, sociale netwerken en databases met de dagelijkse werkelijkheid combineren. In zijn boeken en seminars weet hij zijn publiek te overtuigen van de mogelijkheden van de nieuwe media, maar bovenal weet hij die mogelijkheden toegankelijk te maken voor een groot publiek.

BASISCURSUS

989

MET ONLINEVOORBEELDEN

978 94 6245 086 8

7400 BIM BC Cover_jQuery.indd 1 31-10-14 10:08