SlideShare a Scribd company logo
JAVASCRIPT
GIUSEPPE CRAMAROSSA
ALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO
11 FEBBRAIO 2017
SOMMARIO
Generalità
Struttura
Convenzioni
DOM (Document Object Model)
Eventi
AJAX
Esercizi
GENERALITÀ
 Linguaggio lato client
 È interpretato dal browser web
 Può essere anche disabilitato dall’utente
 Gestisce il comportamento degli elementi in una pagina web
 È case sensitive
 Può essere aggiunto in una pagina web
 Inline (tramite il tag <script></script>)
 Richiamando un file esterno (tramite <script src=‘script.js’></script>)
 Si può utilizzare qualsiasi editor di testo
 L’estensione utilizzata è il .js
 È un linguaggio che supporta la programmazione ad oggetti
CONVENZIONI
 I nomi delle classi devono iniziare con la lettera
maiuscola
 I nomi delle funzioni e dei metodi devono iniziare
con la lettera minuscola
 In una pagina web, lo script viene inserito
generalmente nel tag <head> della pagina
 Viene permesso comunque di inserire il tag <script>
nel corpo della pagina
DOM (DOCUMENT OBJECT MODEL)
 Ogni pagina web è composta da vari elementi organizzati in maniera
gerarchica
 Vengono creati una serie di relazioni genitori/figli
 I figli di un genitore sono tra loro fratelli
 Questi elementi diventano oggetti Javascript, e vengono definiti nodi
 Javascript ha un nodo speciale, chiamato document, che rappresenta la pagina
stessa. Alcuni esempi per accedere agli elementi della pagina sono:
 document.getElementById(‘idelemento’) permette di accedere all’oggetto
contrassegnato dall’ id «idelemento»
 document.getElementsByClassName(‘nomeClasse’) permette di accedere all’oggetto
contrassegnato dalla classe «nomeClasse»
EVENTI
 Gestisce il comportamento degli elementi presenti in una pagina web
 Alcuni eventi gestibili
 Load
 Lanciato ad esempio quando la pagina ha finito il caricamento
 Click
 Lanciato quando si clicca su un elemento
 Mouseover
 Lanciato quando si passa il mouse su un elemento
 Mouseout
 Lanciato quando il puntatore del mouse esce dall’area di un elemento
AJAX
 Permette di inserire dinamicamente dei contenuti in una pagina senza
dover ricaricarla
 Usata in tutte quelle applicazioni che richiedono aggiornamenti in real
time
 Messaggistica istantanea
 Giochi online
 Risultati di ricerca
 …
 Molte librerie semplificano l’uso di AJAX
 Jquery
 Metodo ajax
ESERCIZIO 1
var p = document.getElementById('p');
p.onclick = function()
{
alert("Click sul paragrafo");
}
p.onmouseout = function()
{
p.innerHTML = "onmouseout";
}
p.onmouseover = function()
{
p.innerHTML = "onmouseover";
}
<!doctype html>
<html>
<head>
</head>
<body>
<p id="p" style="border:1px solid #f00">Passa
il mouse sul paragrafo</p>
<script type="text/javascript"
src="Esercizio2.js">
</script>
</body>
</html>
ESERCIZIO 2
window.onload = function()
{
alert("Ciao");
}
window.onbeforeunload =
function()
{
return "";
}
<!doctype html>
<html>
<head>
<script
type="text/javascript"
src="Esercizio1.js"></script>
</head>
<body>
</body>
</html>
ESERCIZI
Creare una pagina con vari paragrafi e
utilizzare il metodo getElementsByTagName
Provare ad utilizzare il metodo setTimeout
Provare ad utilizzare il metodo setInterval
Qual è la differenza tra setTimeout e
setInterval?

More Related Content

Viewers also liked

Java - Concurrent programming - Thread's advanced concepts
Java - Concurrent programming - Thread's advanced conceptsJava - Concurrent programming - Thread's advanced concepts
Java - Concurrent programming - Thread's advanced concepts
Riccardo Cardin
 
Java - Sockets
Java - SocketsJava - Sockets
Java - Sockets
Riccardo Cardin
 
Java - Remote method invocation
Java - Remote method invocationJava - Remote method invocation
Java - Remote method invocation
Riccardo Cardin
 
Java Exception Handling, Assertions and Logging
Java Exception Handling, Assertions and LoggingJava Exception Handling, Assertions and Logging
Java Exception Handling, Assertions and Logging
Riccardo Cardin
 
Java- Concurrent programming - Synchronization (part 2)
Java- Concurrent programming - Synchronization (part 2)Java- Concurrent programming - Synchronization (part 2)
Java- Concurrent programming - Synchronization (part 2)
Riccardo Cardin
 
Java Graphics Programming
Java Graphics ProgrammingJava Graphics Programming
Java Graphics Programming
Riccardo Cardin
 
Java - Generic programming
Java - Generic programmingJava - Generic programming
Java - Generic programming
Riccardo Cardin
 
Java - Collections framework
Java - Collections frameworkJava - Collections framework
Java - Collections framework
Riccardo Cardin
 

Viewers also liked (8)

Java - Concurrent programming - Thread's advanced concepts
Java - Concurrent programming - Thread's advanced conceptsJava - Concurrent programming - Thread's advanced concepts
Java - Concurrent programming - Thread's advanced concepts
 
Java - Sockets
Java - SocketsJava - Sockets
Java - Sockets
 
Java - Remote method invocation
Java - Remote method invocationJava - Remote method invocation
Java - Remote method invocation
 
Java Exception Handling, Assertions and Logging
Java Exception Handling, Assertions and LoggingJava Exception Handling, Assertions and Logging
Java Exception Handling, Assertions and Logging
 
Java- Concurrent programming - Synchronization (part 2)
Java- Concurrent programming - Synchronization (part 2)Java- Concurrent programming - Synchronization (part 2)
Java- Concurrent programming - Synchronization (part 2)
 
Java Graphics Programming
Java Graphics ProgrammingJava Graphics Programming
Java Graphics Programming
 
Java - Generic programming
Java - Generic programmingJava - Generic programming
Java - Generic programming
 
Java - Collections framework
Java - Collections frameworkJava - Collections framework
Java - Collections framework
 

Similar to Lezione 11 - Javascript

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
 
Corso angular js componenti
Corso angular js componentiCorso angular js componenti
Corso angular js componenti
Beniamino Ferrari
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Andrea Picchi
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
react-it.pdf
react-it.pdfreact-it.pdf
react-it.pdf
ssuser65180a
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
XeDotNet
 
Rich Ajax Web Interfaces in Jquery
Rich Ajax Web Interfaces in JqueryRich Ajax Web Interfaces in Jquery
Rich Ajax Web Interfaces in JqueryAlberto Buschettu
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
Giampiero Granatella
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
Pietro Polsinelli
 
Angularjs
AngularjsAngularjs
Angularjs
Francesco Portus
 
corso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascriptcorso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascript
Riccardo Piccioni
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
Vittorio Conte
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Marco Breveglieri
 
jQuery e i suoi plugin
jQuery e i suoi pluginjQuery e i suoi plugin
jQuery e i suoi plugin
Pasquale Puzio
 
DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)
Alessandro Giorgetti
 
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftAsp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Stefano Benedetti
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
Simone Gentili
 

Similar to Lezione 11 - Javascript (20)

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Corso angular js componenti
Corso angular js componentiCorso angular js componenti
Corso angular js componenti
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
react-it.pdf
react-it.pdfreact-it.pdf
react-it.pdf
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Rich Ajax Web Interfaces in Jquery
Rich Ajax Web Interfaces in JqueryRich Ajax Web Interfaces in Jquery
Rich Ajax Web Interfaces in Jquery
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Angularjs
AngularjsAngularjs
Angularjs
 
corso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascriptcorso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascript
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
 
jQuery e i suoi plugin
jQuery e i suoi pluginjQuery e i suoi plugin
jQuery e i suoi plugin
 
DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)
 
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftAsp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
 

More from Giuseppe Cramarossa

Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Giuseppe Cramarossa
 
Lezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQLLezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQL
Giuseppe Cramarossa
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
Giuseppe Cramarossa
 
Lezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di datiLezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di dati
Giuseppe Cramarossa
 
Lezione 7 - CSS
Lezione 7 - CSSLezione 7 - CSS
Lezione 7 - CSS
Giuseppe Cramarossa
 
Lezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del softwareLezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del software
Giuseppe Cramarossa
 
Lezione 5 - L'HTML
Lezione 5 - L'HTMLLezione 5 - L'HTML
Lezione 5 - L'HTML
Giuseppe Cramarossa
 
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamworkLezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Giuseppe Cramarossa
 
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumentiLezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Giuseppe Cramarossa
 
Lezione 3 - Il CMS Joomla
Lezione 3 - Il CMS JoomlaLezione 3 - Il CMS Joomla
Lezione 3 - Il CMS Joomla
Giuseppe Cramarossa
 
Lezione 2 - Il World Wide Web
Lezione 2  - Il World Wide WebLezione 2  - Il World Wide Web
Lezione 2 - Il World Wide Web
Giuseppe Cramarossa
 
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Giuseppe Cramarossa
 
Cortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocaleCortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocale
Giuseppe Cramarossa
 
Internet services, protocols, applications, packets and frames
Internet services, protocols, applications, packets and framesInternet services, protocols, applications, packets and frames
Internet services, protocols, applications, packets and frames
Giuseppe Cramarossa
 
UWP e Mobile App Mobile Services
UWP e Mobile App Mobile ServicesUWP e Mobile App Mobile Services
UWP e Mobile App Mobile Services
Giuseppe Cramarossa
 
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Giuseppe Cramarossa
 
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagramIl linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Giuseppe Cramarossa
 
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Giuseppe Cramarossa
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Giuseppe Cramarossa
 

More from Giuseppe Cramarossa (19)

Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
 
Lezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQLLezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQL
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 
Lezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di datiLezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di dati
 
Lezione 7 - CSS
Lezione 7 - CSSLezione 7 - CSS
Lezione 7 - CSS
 
Lezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del softwareLezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del software
 
Lezione 5 - L'HTML
Lezione 5 - L'HTMLLezione 5 - L'HTML
Lezione 5 - L'HTML
 
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamworkLezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
 
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumentiLezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
 
Lezione 3 - Il CMS Joomla
Lezione 3 - Il CMS JoomlaLezione 3 - Il CMS Joomla
Lezione 3 - Il CMS Joomla
 
Lezione 2 - Il World Wide Web
Lezione 2  - Il World Wide WebLezione 2  - Il World Wide Web
Lezione 2 - Il World Wide Web
 
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
 
Cortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocaleCortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocale
 
Internet services, protocols, applications, packets and frames
Internet services, protocols, applications, packets and framesInternet services, protocols, applications, packets and frames
Internet services, protocols, applications, packets and frames
 
UWP e Mobile App Mobile Services
UWP e Mobile App Mobile ServicesUWP e Mobile App Mobile Services
UWP e Mobile App Mobile Services
 
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
 
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagramIl linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
 
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
 

Lezione 11 - Javascript

  • 1. JAVASCRIPT GIUSEPPE CRAMAROSSA ALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO 11 FEBBRAIO 2017
  • 3. GENERALITÀ  Linguaggio lato client  È interpretato dal browser web  Può essere anche disabilitato dall’utente  Gestisce il comportamento degli elementi in una pagina web  È case sensitive  Può essere aggiunto in una pagina web  Inline (tramite il tag <script></script>)  Richiamando un file esterno (tramite <script src=‘script.js’></script>)  Si può utilizzare qualsiasi editor di testo  L’estensione utilizzata è il .js  È un linguaggio che supporta la programmazione ad oggetti
  • 4. CONVENZIONI  I nomi delle classi devono iniziare con la lettera maiuscola  I nomi delle funzioni e dei metodi devono iniziare con la lettera minuscola  In una pagina web, lo script viene inserito generalmente nel tag <head> della pagina  Viene permesso comunque di inserire il tag <script> nel corpo della pagina
  • 5. DOM (DOCUMENT OBJECT MODEL)  Ogni pagina web è composta da vari elementi organizzati in maniera gerarchica  Vengono creati una serie di relazioni genitori/figli  I figli di un genitore sono tra loro fratelli  Questi elementi diventano oggetti Javascript, e vengono definiti nodi  Javascript ha un nodo speciale, chiamato document, che rappresenta la pagina stessa. Alcuni esempi per accedere agli elementi della pagina sono:  document.getElementById(‘idelemento’) permette di accedere all’oggetto contrassegnato dall’ id «idelemento»  document.getElementsByClassName(‘nomeClasse’) permette di accedere all’oggetto contrassegnato dalla classe «nomeClasse»
  • 6. EVENTI  Gestisce il comportamento degli elementi presenti in una pagina web  Alcuni eventi gestibili  Load  Lanciato ad esempio quando la pagina ha finito il caricamento  Click  Lanciato quando si clicca su un elemento  Mouseover  Lanciato quando si passa il mouse su un elemento  Mouseout  Lanciato quando il puntatore del mouse esce dall’area di un elemento
  • 7. AJAX  Permette di inserire dinamicamente dei contenuti in una pagina senza dover ricaricarla  Usata in tutte quelle applicazioni che richiedono aggiornamenti in real time  Messaggistica istantanea  Giochi online  Risultati di ricerca  …  Molte librerie semplificano l’uso di AJAX  Jquery  Metodo ajax
  • 8. ESERCIZIO 1 var p = document.getElementById('p'); p.onclick = function() { alert("Click sul paragrafo"); } p.onmouseout = function() { p.innerHTML = "onmouseout"; } p.onmouseover = function() { p.innerHTML = "onmouseover"; } <!doctype html> <html> <head> </head> <body> <p id="p" style="border:1px solid #f00">Passa il mouse sul paragrafo</p> <script type="text/javascript" src="Esercizio2.js"> </script> </body> </html>
  • 9. ESERCIZIO 2 window.onload = function() { alert("Ciao"); } window.onbeforeunload = function() { return ""; } <!doctype html> <html> <head> <script type="text/javascript" src="Esercizio1.js"></script> </head> <body> </body> </html>
  • 10. ESERCIZI Creare una pagina con vari paragrafi e utilizzare il metodo getElementsByTagName Provare ad utilizzare il metodo setTimeout Provare ad utilizzare il metodo setInterval Qual è la differenza tra setTimeout e setInterval?