SlideShare a Scribd company logo
I n f o r m a t i c s Hans Rossel - www.koba.be
Browser testing
• Virtual machines
http://www.modern.ie/en-us/virtualization-tools#downlo
ads
• http://www.browserstack.com
I n f o r m a t i c s Hans Rossel - www.koba.be
JAVASCRIPT
I n f o r m a t i c s Hans Rossel - www.koba.be
Wat is JavaScript?
• Front-end programmeertaal
• Client side scripting language
– Hangt af van de browser kwaliteiten
I n f o r m a t i c s Hans Rossel - www.koba.be
Geschiedenis
• 1995: LiveScript door Netscape
• Jaren '90: redirects, popups, ...
I n f o r m a t i c s Hans Rossel - www.koba.be
Doel van JavaScript
• Gebruiksvriendelijkheid verbeteren
• Dynamische functionaliteiten voorzien
• Responsive interfaces maken
I n f o r m a t i c s Hans Rossel - www.koba.be
JavaScript werking
• Werkt op
– DOM (Document Object Model)
– User input
– Inhoud van een pagina
– Css
– Browser gedrag
I n f o r m a t i c s Hans Rossel - www.koba.be
TOEPASSINGEN VAN
JAVASCRIPT
I n f o r m a t i c s Hans Rossel - www.koba.be
Form validation
I n f o r m a t i c s Hans Rossel - www.koba.be
Search form suggesties
I n f o r m a t i c s Hans Rossel - www.koba.be
Show/hide
I n f o r m a t i c s Hans Rossel - www.koba.be
Browser testen
I n f o r m a t i c s Hans Rossel - www.koba.be
Polyfill
vb http://selectivizr.com
I n f o r m a t i c s Hans Rossel - www.koba.be
Polyfill voorbeelden
• https://code.google.com/p/html5shiv:
html5 elementen zoals article, section
herkennen door IE 6-8
• http://modernizr.com: feature detection +
html5 elementen herkennen
• http://selectivizr.com: css selectors zoals
nth-child voor IE 6-8
• http://responsejs.com: media queries
min-width en max-width voor IE 6-8
I n f o r m a t i c s Hans Rossel - www.koba.be
Lightbox
I n f o r m a t i c s Hans Rossel - www.koba.be
Andere toepassingen
• Inhoud opvragen van de server en
invoegen in de pagina zonder de pagina
te herladen (Ajax)
• Afwerking van de user interface: form
elements
I n f o r m a t i c s Hans Rossel - www.koba.be
JavaScript toevoegen
• Embedded
<script>Hier de JavaScript code</script>
• External
<script src=”script.js”></script>
– Hetzelfde script op meerdere pagina's
– Iets minder goed voor performance
wegens http request
I n f o r m a t i c s Hans Rossel - www.koba.be
Plaatsing script
• Mag overal geplaatst worden
• Meest gebruikelijk
– In <head>
– Vlak voor </body>
• Een script blokkeert de rendering van
de pagina dus de zichtbare performance
zal beter zijn als het onderaan wordt
geplaatst. Maar: uitzonderingen: vb
Modernizr
I n f o r m a t i c s Hans Rossel - www.koba.be
Alert
<script>
alert('Hallo welkom op mijn website!')
</script>
• Kun je gebruiken voor debuggen van
code vb variabele printen
I n f o r m a t i c s Hans Rossel - www.koba.be
Plaatsing script
• Mag overal geplaatst worden
• Meest gebruikelijk
– In <head>
– Vlak voor </body>
• Een script blokkeert de rendering van
de pagina dus de zichtbare performance
zal beter zijn als het onderaan wordt
geplaatst. Maar: uitzonderingen: vb
Modernizr
I n f o r m a t i c s Hans Rossel - www.koba.be
Alert
<script>
alert('Hallo welkom op mijn website!')
</script>
• Bruikbaar voor snel debuggen vb
variabele printen
I n f o r m a t i c s Hans Rossel - www.koba.be
Confirm
<script>
confirm('Ben je er zeker van dat je mijn
website wil verlaten?');
</script>
I n f o r m a t i c s Hans Rossel - www.koba.be
Vorm code
• Hoofdlettergevoelig
• Statements: alert(“Bedankt”);
• Comments: // of /* */
• Variables: var foo = 5;
I n f o r m a t i c s Hans Rossel - www.koba.be
Variabelen
<script>
var foo = 5;
var bar = 6;
alert(foo + bar);
</script>
I n f o r m a t i c s Hans Rossel - www.koba.be
Arrays en if/else
<script>
var foo = [5, "zes", 7];
if( foo[1] === "zes") {
alert("We tellen vanaf 0 en dus klopt dit");
}
</script>
• === betekent identiek: gelijk + zelfde datatype
• == betekent gelijk
I n f o r m a t i c s Hans Rossel - www.koba.be
Loops
<script>
for ( var i = 0; i <= 5; i++ ) {
alert( i );
}
</script>
I n f o r m a t i c s Hans Rossel - www.koba.be
DOM
• Programmeer interface (api) voor html en
xml pagina's
• Kan gebruikt worden om de inhoud van
een document te manipuleren met
JavaScript. Inhoud betekent hier zowel
de tags als de eigenlijke inhoud.
• DOM is een verzameling van element
nodes (tags), attribuut nodes (vb href) en
text nodes
I n f o r m a t i c s Hans Rossel - www.koba.be
DOM
Document Object Model
I n f o r m a t i c s Hans Rossel - www.koba.be
DOM
Document Object Model
I n f o r m a t i c s Hans Rossel - www.koba.be
Bibliotheken
• Jquery (http://jquery.com)
• Dojo (http://dojotoolkit.org): Ajax
applicaties
• Mootools (http://mootools.net): My
Object Oriented Tools
• YUI (http://yuilibrary.com): Yahoo! User
Interface Library
• (Prototype: http://prototypejs.org, niet
meer onderhouden)
I n f o r m a t i c s Hans Rossel - www.koba.be
MVC Bibliotheken
• Angular JS (http://angularjs.org):
Google
• Backbone.js (http://backbonejs.org)
• Ember.js (http://emberjs.com)
I n f o r m a t i c s Hans Rossel - www.koba.be
Javascript Server
• Node.js
– Real time info
I n f o r m a t i c s Hans Rossel - www.koba.be
JQUERY
I n f o r m a t i c s Hans Rossel - www.koba.be
Wat is Jquery?
• JavaScript bibliotheek
• Geschreven in 2005 door John Resig
• Open Source
• 80% van de top 10.000 websites gebruikt
het
• Syntax trekt heel goed op css
• Heeft een UI library JqueryUI
I n f o r m a t i c s Hans Rossel - www.koba.be
Toevoegen van Jquery
• Twee versies
– v1
– v2: geen support voor IE6/7/8
• <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
I n f o r m a t i c s Hans Rossel - www.koba.be
Jquery script 1
<script>
$(document).ready(function() {
$("p").hide("slow");
});
</script>
I n f o r m a t i c s Hans Rossel - www.koba.be
Jquery script 2
<script>
$(document).ready(function() {
$("div.nieuws").slideUp("slow").addClass(“removed”);
});
</script>
<div class="nieuws">Hallo</p>
I n f o r m a t i c s Hans Rossel - www.koba.be
Jquery script 3
<script>
$(document).ready(function() {
$("table tr:nth-child(even)").addClass("even");
});
</script>
<table>
<tr><td>test 1</td></tr>
<tr><td>test 1</td></tr>
<tr><td>test 1</td></tr>
<tr><td>test 1</td></tr>
</table>
I n f o r m a t i c s Hans Rossel - www.koba.be
Firebug
• Console tab: foutmeldingen bekijken
I n f o r m a t i c s Hans Rossel - www.koba.be
Core functionaliteit
http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/jquery12_api_reference.png
I n f o r m a t i c s Hans Rossel - www.koba.be
Jquery plugins
• https://plugins.jquery.com
•
I n f o r m a t i c s Hans Rossel - www.koba.be
Fotorama
• http://fotorama.io/set-up
<!-- 1. Link to jQuery (1.8 or later), -->
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <!-- 33 KB -->
<!-- fotorama.css & fotorama.js. -->
<link href="http://fotorama.s3.amazonaws.com/4.4.9/fotorama.css" rel="stylesheet">
<script src="http://fotorama.s3.amazonaws.com/4.4.9/fotorama.js"></script>
<!-- 2. Add images to <div class="fotorama"></div>. -->
<div class="fotorama">
<img src="1.jpg">
<img src="2.jpg">
</div>
I n f o r m a t i c s Hans Rossel - www.koba.be
Colorbox
http://www.jacklmoore.com/colorbox/guide/
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="colorbox.css">
<script src="jquery.min.js"></script>
<script src="jquery.colorbox-min.js"></script>
<script>jQuery('a.gallery').colorbox();</script>
</head>
<body>
<a class='gallery' href='image1.jpg'>Photo_1</a>
<a class='gallery' href='image2.jpg'>Photo_2</a>
<a class='gallery' href='image3.jpg'>Photo_3</a>
</body>
</html>
I n f o r m a t i c s Hans Rossel - www.koba.be
Jquery informatie
• http://api.jquery.com
I n f o r m a t i c s Hans Rossel - www.koba.be
Bedankt
hans.rossel@koba.be
Twitter: @haro
www.koba.be

More Related Content

PDF
How to Trace an E-mail Part 2
PDF
How to Trace an E-mail Part 1
PPT
PRIMERO
PDF
Ba Mvas In India Research Report 10 07[1]
PPT
Educación a Distancia y Procadis INTA
PDF
Powerpoint Htmlcss
PDF
Html5 jeugdwerknet
PDF
Drupal8
How to Trace an E-mail Part 2
How to Trace an E-mail Part 1
PRIMERO
Ba Mvas In India Research Report 10 07[1]
Educación a Distancia y Procadis INTA
Powerpoint Htmlcss
Html5 jeugdwerknet
Drupal8

Similar to Javascript Intro (20)

PPTX
Modern web development
PDF
Data optimaliseren voor tablet en mobiel
PPTX
Een website bouwen voor je vereniging
PPTX
NL Front-end Guidelines (HTML,CSS,Javascript)
PPTX
SEO Migraties #seobenelux
PDF
Headless Drupal - Wat, Waarom, Hoe & Uitdagingen
PDF
Refresher HTML(5) and CSS(3) - CC FE & UX
KEY
Front-end meta languages
PPTX
HTML5 Overview
PDF
Wawwa build your artist portfolio site
PDF
PFZ Workshop - Automatiseren van functionele tests
KEY
Node.js: waarom en hoe
PPTX
Talk 02 html5-css3
PPTX
PDF
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
PPT
Een eenvoudige website maken
ODP
Drupal Cursus Hans Rossel
PDF
Rf meetup 20210412 robo_con
PPT
OpenESB -- Hello World Intor
PDF
Tablets - zijn 'publicatie' standaarden al zinvol
Modern web development
Data optimaliseren voor tablet en mobiel
Een website bouwen voor je vereniging
NL Front-end Guidelines (HTML,CSS,Javascript)
SEO Migraties #seobenelux
Headless Drupal - Wat, Waarom, Hoe & Uitdagingen
Refresher HTML(5) and CSS(3) - CC FE & UX
Front-end meta languages
HTML5 Overview
Wawwa build your artist portfolio site
PFZ Workshop - Automatiseren van functionele tests
Node.js: waarom en hoe
Talk 02 html5-css3
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
Een eenvoudige website maken
Drupal Cursus Hans Rossel
Rf meetup 20210412 robo_con
OpenESB -- Hello World Intor
Tablets - zijn 'publicatie' standaarden al zinvol
Ad

More from Hans Rossel (10)

PDF
Html css
PDF
Drupal opleiding
PDF
Drupal koba-nov2013
ODP
Drupal7 Development
PDF
Drupal7 Theming
PDF
Drupalgardens
ODP
Drupal Views Cck Hans Rossel
PDF
Drupal 7 Theming
PDF
Drupal intro 2010
ODP
Drupal Theming Hans Rossel
Html css
Drupal opleiding
Drupal koba-nov2013
Drupal7 Development
Drupal7 Theming
Drupalgardens
Drupal Views Cck Hans Rossel
Drupal 7 Theming
Drupal intro 2010
Drupal Theming Hans Rossel
Ad

Javascript Intro

  • 1. I n f o r m a t i c s Hans Rossel - www.koba.be Browser testing • Virtual machines http://www.modern.ie/en-us/virtualization-tools#downlo ads • http://www.browserstack.com
  • 2. I n f o r m a t i c s Hans Rossel - www.koba.be JAVASCRIPT
  • 3. I n f o r m a t i c s Hans Rossel - www.koba.be Wat is JavaScript? • Front-end programmeertaal • Client side scripting language – Hangt af van de browser kwaliteiten
  • 4. I n f o r m a t i c s Hans Rossel - www.koba.be Geschiedenis • 1995: LiveScript door Netscape • Jaren '90: redirects, popups, ...
  • 5. I n f o r m a t i c s Hans Rossel - www.koba.be Doel van JavaScript • Gebruiksvriendelijkheid verbeteren • Dynamische functionaliteiten voorzien • Responsive interfaces maken
  • 6. I n f o r m a t i c s Hans Rossel - www.koba.be JavaScript werking • Werkt op – DOM (Document Object Model) – User input – Inhoud van een pagina – Css – Browser gedrag
  • 7. I n f o r m a t i c s Hans Rossel - www.koba.be TOEPASSINGEN VAN JAVASCRIPT
  • 8. I n f o r m a t i c s Hans Rossel - www.koba.be Form validation
  • 9. I n f o r m a t i c s Hans Rossel - www.koba.be Search form suggesties
  • 10. I n f o r m a t i c s Hans Rossel - www.koba.be Show/hide
  • 11. I n f o r m a t i c s Hans Rossel - www.koba.be Browser testen
  • 12. I n f o r m a t i c s Hans Rossel - www.koba.be Polyfill vb http://selectivizr.com
  • 13. I n f o r m a t i c s Hans Rossel - www.koba.be Polyfill voorbeelden • https://code.google.com/p/html5shiv: html5 elementen zoals article, section herkennen door IE 6-8 • http://modernizr.com: feature detection + html5 elementen herkennen • http://selectivizr.com: css selectors zoals nth-child voor IE 6-8 • http://responsejs.com: media queries min-width en max-width voor IE 6-8
  • 14. I n f o r m a t i c s Hans Rossel - www.koba.be Lightbox
  • 15. I n f o r m a t i c s Hans Rossel - www.koba.be Andere toepassingen • Inhoud opvragen van de server en invoegen in de pagina zonder de pagina te herladen (Ajax) • Afwerking van de user interface: form elements
  • 16. I n f o r m a t i c s Hans Rossel - www.koba.be JavaScript toevoegen • Embedded <script>Hier de JavaScript code</script> • External <script src=”script.js”></script> – Hetzelfde script op meerdere pagina's – Iets minder goed voor performance wegens http request
  • 17. I n f o r m a t i c s Hans Rossel - www.koba.be Plaatsing script • Mag overal geplaatst worden • Meest gebruikelijk – In <head> – Vlak voor </body> • Een script blokkeert de rendering van de pagina dus de zichtbare performance zal beter zijn als het onderaan wordt geplaatst. Maar: uitzonderingen: vb Modernizr
  • 18. I n f o r m a t i c s Hans Rossel - www.koba.be Alert <script> alert('Hallo welkom op mijn website!') </script> • Kun je gebruiken voor debuggen van code vb variabele printen
  • 19. I n f o r m a t i c s Hans Rossel - www.koba.be Plaatsing script • Mag overal geplaatst worden • Meest gebruikelijk – In <head> – Vlak voor </body> • Een script blokkeert de rendering van de pagina dus de zichtbare performance zal beter zijn als het onderaan wordt geplaatst. Maar: uitzonderingen: vb Modernizr
  • 20. I n f o r m a t i c s Hans Rossel - www.koba.be Alert <script> alert('Hallo welkom op mijn website!') </script> • Bruikbaar voor snel debuggen vb variabele printen
  • 21. I n f o r m a t i c s Hans Rossel - www.koba.be Confirm <script> confirm('Ben je er zeker van dat je mijn website wil verlaten?'); </script>
  • 22. I n f o r m a t i c s Hans Rossel - www.koba.be Vorm code • Hoofdlettergevoelig • Statements: alert(“Bedankt”); • Comments: // of /* */ • Variables: var foo = 5;
  • 23. I n f o r m a t i c s Hans Rossel - www.koba.be Variabelen <script> var foo = 5; var bar = 6; alert(foo + bar); </script>
  • 24. I n f o r m a t i c s Hans Rossel - www.koba.be Arrays en if/else <script> var foo = [5, "zes", 7]; if( foo[1] === "zes") { alert("We tellen vanaf 0 en dus klopt dit"); } </script> • === betekent identiek: gelijk + zelfde datatype • == betekent gelijk
  • 25. I n f o r m a t i c s Hans Rossel - www.koba.be Loops <script> for ( var i = 0; i <= 5; i++ ) { alert( i ); } </script>
  • 26. I n f o r m a t i c s Hans Rossel - www.koba.be DOM • Programmeer interface (api) voor html en xml pagina's • Kan gebruikt worden om de inhoud van een document te manipuleren met JavaScript. Inhoud betekent hier zowel de tags als de eigenlijke inhoud. • DOM is een verzameling van element nodes (tags), attribuut nodes (vb href) en text nodes
  • 27. I n f o r m a t i c s Hans Rossel - www.koba.be DOM Document Object Model
  • 28. I n f o r m a t i c s Hans Rossel - www.koba.be DOM Document Object Model
  • 29. I n f o r m a t i c s Hans Rossel - www.koba.be Bibliotheken • Jquery (http://jquery.com) • Dojo (http://dojotoolkit.org): Ajax applicaties • Mootools (http://mootools.net): My Object Oriented Tools • YUI (http://yuilibrary.com): Yahoo! User Interface Library • (Prototype: http://prototypejs.org, niet meer onderhouden)
  • 30. I n f o r m a t i c s Hans Rossel - www.koba.be MVC Bibliotheken • Angular JS (http://angularjs.org): Google • Backbone.js (http://backbonejs.org) • Ember.js (http://emberjs.com)
  • 31. I n f o r m a t i c s Hans Rossel - www.koba.be Javascript Server • Node.js – Real time info
  • 32. I n f o r m a t i c s Hans Rossel - www.koba.be JQUERY
  • 33. I n f o r m a t i c s Hans Rossel - www.koba.be Wat is Jquery? • JavaScript bibliotheek • Geschreven in 2005 door John Resig • Open Source • 80% van de top 10.000 websites gebruikt het • Syntax trekt heel goed op css • Heeft een UI library JqueryUI
  • 34. I n f o r m a t i c s Hans Rossel - www.koba.be Toevoegen van Jquery • Twee versies – v1 – v2: geen support voor IE6/7/8 • <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  • 35. I n f o r m a t i c s Hans Rossel - www.koba.be Jquery script 1 <script> $(document).ready(function() { $("p").hide("slow"); }); </script>
  • 36. I n f o r m a t i c s Hans Rossel - www.koba.be Jquery script 2 <script> $(document).ready(function() { $("div.nieuws").slideUp("slow").addClass(“removed”); }); </script> <div class="nieuws">Hallo</p>
  • 37. I n f o r m a t i c s Hans Rossel - www.koba.be Jquery script 3 <script> $(document).ready(function() { $("table tr:nth-child(even)").addClass("even"); }); </script> <table> <tr><td>test 1</td></tr> <tr><td>test 1</td></tr> <tr><td>test 1</td></tr> <tr><td>test 1</td></tr> </table>
  • 38. I n f o r m a t i c s Hans Rossel - www.koba.be Firebug • Console tab: foutmeldingen bekijken
  • 39. I n f o r m a t i c s Hans Rossel - www.koba.be Core functionaliteit http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/jquery12_api_reference.png
  • 40. I n f o r m a t i c s Hans Rossel - www.koba.be Jquery plugins • https://plugins.jquery.com •
  • 41. I n f o r m a t i c s Hans Rossel - www.koba.be Fotorama • http://fotorama.io/set-up <!-- 1. Link to jQuery (1.8 or later), --> <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <!-- 33 KB --> <!-- fotorama.css & fotorama.js. --> <link href="http://fotorama.s3.amazonaws.com/4.4.9/fotorama.css" rel="stylesheet"> <script src="http://fotorama.s3.amazonaws.com/4.4.9/fotorama.js"></script> <!-- 2. Add images to <div class="fotorama"></div>. --> <div class="fotorama"> <img src="1.jpg"> <img src="2.jpg"> </div>
  • 42. I n f o r m a t i c s Hans Rossel - www.koba.be Colorbox http://www.jacklmoore.com/colorbox/guide/ <!doctype html> <html> <head> <link rel="stylesheet" href="colorbox.css"> <script src="jquery.min.js"></script> <script src="jquery.colorbox-min.js"></script> <script>jQuery('a.gallery').colorbox();</script> </head> <body> <a class='gallery' href='image1.jpg'>Photo_1</a> <a class='gallery' href='image2.jpg'>Photo_2</a> <a class='gallery' href='image3.jpg'>Photo_3</a> </body> </html>
  • 43. I n f o r m a t i c s Hans Rossel - www.koba.be Jquery informatie • http://api.jquery.com
  • 44. I n f o r m a t i c s Hans Rossel - www.koba.be Bedankt hans.rossel@koba.be Twitter: @haro www.koba.be