SlideShare a Scribd company logo
1 of 36
Download to read offline
Javascript [7]
Matteo Magni
Spesso ci capita di dover riscrivere più volte
    lo stesso codice per fare la stessa
                operazione.
Developer
     Ma il programmatore è
     tendenzialmente un pigro.

     Sceglierò sempre un pigro
     per fare un lavoro difficile,
     perché troverà sempre un
     modo facile per farlo
     (Bill Gates)
Programmazione funzionale
         Per questo nasce la
         programmazione funzionale
         che ci permette di riutilizzare
         tutte le volte che ci serve una
         porzione di codice senza
         doverla riscrivere.
         Non è l'unico vantaggio, ma
         sicuramente il più immediato.
Function
                        function pippo() {
Una funzione è una
                          // javascript code
porzione di codice
                        } 
che viene eseguita
solo quando è           pippo();
richiamata attraverso
il suo nome.
Function
                        function sum(first, 
Una funzione può        second) {
avere dei parametri       result first + 
in ingresso e un        second;
valore di ritorno, al     return result;
fine di essere          } 
parametrizzabile e di
poter gestire i suoi    alert(sum(1+2));
risultati
Visibilità variabili
Infatti se usiamo "var"
                                                            Tale variabile è dichiarata
all’interno di una funzione,                                (definita e agisce) solo all’interno
dichiariamo una variabile "solo"                            della variabile. Se invece
interna alla funzione (locale).                             rimuovete "var a" da dentro la
                                                            funzione, andrete a modificare la
a = 100;                                                    variabile a globale
function cambiaA(){                                         a = 100;
                                                            function cambiaAA(){
var a;
                                                            a=10;
a=10;
                                                            }
}
                                                            alert(a);
alert(a);
                 http://blog.merlinox.com/la-visibilit-delle-variabili-javascript/
Come facciamo a interagire con l'utente?
Attraverso gli eventi, cioè qualcosa che
        accade nel documento.
Eventi
<TAG nomeEvento=”Javascript da eseguire”>


<h1 id="myHeader" onclick="getValue()">Click 
me!</h1>
Oggetto Event


   L'oggetto event permette di ottenere
informazioni sull'evento appena scaturito,
 come l'elemento che lo ha generato, o la
           posizione del mouse.
Event

Possiamo utilizzarlo dentro alla
dichiarazione dell'evento, ad esempio:
<a
onmouseover="alert('Il mouse è alla posizione ' + 
event.screenX + ', ' + event.screenY +  'dello schermo');"
>
link
</a>

       http://it.wikibooks.org/wiki/JavaScript/Gli_eventi_nel_DOM
Oggetto Event
Rispetto all'utilizzo di questo oggetto, bisogna fare attenzione
quando si richiama da delle funzioni handler: l'oggetto event
infatti ha una visibilità privata, non può quindi essere richiamato
esternamente alla dichiarazione dell'evento. Per ovviare a
questo problema è sufficiente passare l'oggetto event come
argomento. Ad esempio, si crea la funzione:
function posizione (e) {
alert('Il mouse è alla posizione ' + e.screenX + ', ' + e.screenY +  
'dello schermo');
}
Nell'HTML si inserirà:
<a href="pagina.html" onmouseover="posizione(event);">link</a>
Proprietà Event
• timestamp (funziona solo su FF) restituisce la data e l'ora in cui si è verificato l'evento;
• target e relatedTarget (srcElement e toElement su Internet Explorer) restituiscono rispettivamente il nodo che ha generato l'evento e
  il nodo su cui probabilmente sarà il mouse dopo che l'evento si sarà concluso (ad esempio è utile per gli eventi mouseOut). Quando si
  usano queste proprietà bisogna prima controllare il browser in uso dall'utente (vedi questa pagina);
• altKey, ctrlKey e shiftKey indicano rispettivamente se è premuto il tasto alt, ctrl o shift mentre avviene evento;
• button indica quale pulsante del mouse è stato premuto (0 il tasto sinistro, 1 quello destro);
• clientX e clientY indicano le posizioni del cursore rispetto alla finestra del browser (a partire dall'angolo in altro a destra);
• screenX e screenY indicano le posizioni del cursore rispetto allo schermo dell'utente (a partire dall'angolo in altro a destra).
Esempio
    
<script>
function EventFunc(e) {
  var target = e.target;
  target.style.color = 'red';
}
</script>
</head>
<body>
Event<br/>
<a onclick="EventFunc(event);" >link</a>
</body>
Tipi di eventi
Load
• onload → quando l'oggetto è
  completamente caricato [body, img]
<img src=”pippo.jpg” 
onload=”alert(‘pippo’);”>
Mouse
• onmouseover → quando il mouse passa
  sopra l'elemento
<a onmouseover=”alert(‘pippo’);”>
• onmouseout → quando il mouse esce
  fuori dall'area sensibile
<a onmouseout=”alert(‘pippo’);”>
Click
• onclick → quando l'utente clicca
  sull'elemento
<a onclick=”alert(‘pippo’);”>
Form - input
• onkeypress → quando in un input type
  viene premuto un tasto della tastiera
<textarea onkeypress=”alert(‘pippo’);”>
• onchange → quando l'elemento cambia
<select onchange=”alert(‘pippo’);”>
…
</select>
Form - input
• onsubmit → quando si invia la form
<form name=”pippo” onsubmit=”alert(‘pippo’);”>
• onfocus → quando l'elemento diventa attivo
<input type=”text” onfocus=”alert(‘pippo’);”>
• onblur → quando l'elemento non è più attivo
<input type=”text” onblur=”alert(‘pippo’);”>
Possiamo gestire gli eventi in modo migliore?
           <a onclick=”alert(‘pippo’);”>


Vogliamo separare il codice delle
varie tecnologie...
Tutto nel JS
<input type="button" value="Pippo" id="pippo" />


<script type="text/javascript">
//devo omettere le parentesi richiamando la funzione 
alertPippo (function pointer)
document.getElementById("pippo").onclick = 
alertPippo;


function alertPippo(){
    alert("pippo");
}
</script>
addEventListener

addEventListener() permette di impostare
delle funzioni che verranno chiamate al
verificarsi dell'evento specificato,
sull'oggetto specificato(target dell'evento).


https://developer.mozilla.org/it/docs/DOM/element.addEventListener
Esempio
<input type="button" value="Pippo" id="pippo" />
<script type="text/javascript">
var pippo = document.getElementById("pippo");
pippo.addEventListener("click", alertPippo, false);
pippo.addEventListener("click", alertHello, false);
           function alertPippo() {
                 alert("pippo");
           }
           function alertHello() {
                 alert("hello");
           }
</script>
Why?
Perchè usare addEventListener?

addEventListener è il modo corretto per
registrare un listener, come da specifica
W3C. I suoi benefici sono:

• permette di aggiungere diversi handler
  per singolo evento.
• Dà un controllo migliore di cosa
  succede quando il listener viene
  attivato(capturing vs bubbling)
• funziona con qualunque elemento
  DOM, non solo con gli elementi HTML.
Esempio
   <style type="text/css">
                                                  <body onload="load();"> 
     #t { border: 1px solid red }
     #t1 { background­color: pink; }
                                                  <table id="t"> 
   </style>
   <script type="text/javascript">
                                                    <tr><td 
                                                 id="t1">one</td></tr> 
   // Function to change the content of t2
   function modifyText() {                          <tr><td 
     var t2 = document.getElementById("t2");
     t2.firstChild.nodeValue = "three";    
                                                 id="t2">two</td></tr> 
   }
                                                  </table>
 
   // Function to add event listener to t
   function load() { 
     var el = document.getElementById("t"); 
     el.addEventListener("click", modifyText, 
false); 
   } 
Internet Explorer?

//fino alla versione 8 ie ha un suo 
//metodo attachEvent...


if (el.addEventListener){
  el.addEventListener('click', 
modifyText, false); 
} else if (el.attachEvent){
  el.attachEvent('onclick', 
modifyText);
}
Rimuovere eventi

Se serve posso
anche rimuovere gli
eventi attraverso il
metodo:
removeEventListene
r
Le form sono il principale metodo che ha
     l'utente per interagire con il sito.
Form
document.form
Oggetto .form
                      • document.forms[x].comando
E' un array che ci      accede form nella pagina n. x
consente di             (conteggio parte da 0)
                      • document.forms["xxxx"].coman
accedere a tutte le     do accede al form con
form nella pagina.      name="xxxx"
                      • document.xxxx.comando forma
                        abbreviata per accede al form
                        con name="xxxx"
Proprietà form
                      https://developer.mozilla.org/it/docs/DOM/form
form.elements
Restituisce una collezione dei controlli contenuti form corrente.
form.length
Restituisce il numero di controlli contenuti nel form corrente.
form.name
Restituisce una stringa con con il valore dell'attributo name del form corrente.
form.acceptCharset
Restituisce una lista dei set di caratteri supportati per il form corrente.
form.action
Restituisce/setta l'URI a cui verranno spediti i dati del form.
form.enctype
Restituisce/setta il tipo di contenuto che il form corrente invierà al server.
form.method
Restituisce/setta il metodo con cui inviare le informazioni al server.
form.target
Restituisce/setta il nome del frame in cui rendere la pagina di risposta del server.
Metodi Form

form.submit
Invia il form.
form.reset
Riporta il form al suo stato iniziale.
Domande?

                  Slide:
     http://cypher.informazione.me/
                  Code:
https://github.com/inFormazione/Cypher/
                   mail:
            matteo@magni.me

More Related Content

What's hot

What's hot (17)

8 Algoritmi
8   Algoritmi8   Algoritmi
8 Algoritmi
 
Introduzione a JavaScript
Introduzione a JavaScriptIntroduzione a JavaScript
Introduzione a JavaScript
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Php mysql3
Php mysql3Php mysql3
Php mysql3
 
Cattive abitudini e-lineeguida
Cattive abitudini e-lineeguidaCattive abitudini e-lineeguida
Cattive abitudini e-lineeguida
 
PHP
PHPPHP
PHP
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cms
 
06 2 vector_matrici
06 2 vector_matrici06 2 vector_matrici
06 2 vector_matrici
 
Ajax e jQuery
Ajax e jQueryAjax e jQuery
Ajax e jQuery
 
iContract
iContractiContract
iContract
 
Jpnde
JpndeJpnde
Jpnde
 
C(99) gtk 04 - label,button e entry
C(99) gtk   04 - label,button e entryC(99) gtk   04 - label,button e entry
C(99) gtk 04 - label,button e entry
 
Pycon Jungle
Pycon JunglePycon Jungle
Pycon Jungle
 
C(99) gtk 03 - le immagini
C(99) gtk   03 - le immaginiC(99) gtk   03 - le immagini
C(99) gtk 03 - le immagini
 
C(99) gtk 02 - disporre gli oggetti
C(99) gtk   02 - disporre gli oggettiC(99) gtk   02 - disporre gli oggetti
C(99) gtk 02 - disporre gli oggetti
 
Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)
 
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
 

Viewers also liked

Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerMatteo Magni
 
Javascript - 3 | WebMaster & WebDesigner
Javascript - 3 | WebMaster & WebDesignerJavascript - 3 | WebMaster & WebDesigner
Javascript - 3 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerMatteo Magni
 
Javascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesignerJavascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesignerMatteo Magni
 
Javascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesignerJavascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerMatteo Magni
 

Viewers also liked (7)

Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
 
Javascript - 3 | WebMaster & WebDesigner
Javascript - 3 | WebMaster & WebDesignerJavascript - 3 | WebMaster & WebDesigner
Javascript - 3 | WebMaster & WebDesigner
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesigner
 
Javascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesignerJavascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesigner
 
Javascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesignerJavascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesigner
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesigner
 

Similar to Javascript - 7 | WebMaster & WebDesigner

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerMatteo Magni
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0firenze-gtug
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con ScalaFranco Lombardo
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.jsMichele Capra
 
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerMatteo Magni
 
Corso avanzato di Tecnologie WEB - jquery e d3js
Corso avanzato di Tecnologie WEB - jquery e d3jsCorso avanzato di Tecnologie WEB - jquery e d3js
Corso avanzato di Tecnologie WEB - jquery e d3jsStudiabo
 
Intercettare gli eventi di mouse e tastiera
Intercettare gli eventi di mouse e tastieraIntercettare gli eventi di mouse e tastiera
Intercettare gli eventi di mouse e tastieraFederico Paparoni
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiSimone Gentili
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
How To React - Gestione Stato Applicativo
How To React - Gestione Stato ApplicativoHow To React - Gestione Stato Applicativo
How To React - Gestione Stato ApplicativoAldoNoschese
 
Two months of Kotlin
Two months of KotlinTwo months of Kotlin
Two months of KotlinErik Minarini
 
JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)jampslide
 
Rapido, intuitivo, potente: Qt Quick all'assalto delle User Interfaces
Rapido, intuitivo, potente: Qt Quick all'assalto delle User InterfacesRapido, intuitivo, potente: Qt Quick all'assalto delle User Interfaces
Rapido, intuitivo, potente: Qt Quick all'assalto delle User InterfacesAlessandro La Rosa
 
06 Android - lavorare in background
06 Android - lavorare in background06 Android - lavorare in background
06 Android - lavorare in backgroundspawn150
 

Similar to Javascript - 7 | WebMaster & WebDesigner (20)

Js intro
Js introJs intro
Js intro
 
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0
 
XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13
 
7 Sottoprogrammi
7   Sottoprogrammi7   Sottoprogrammi
7 Sottoprogrammi
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.js
 
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
 
Corso avanzato di Tecnologie WEB - jquery e d3js
Corso avanzato di Tecnologie WEB - jquery e d3jsCorso avanzato di Tecnologie WEB - jquery e d3js
Corso avanzato di Tecnologie WEB - jquery e d3js
 
Intercettare gli eventi di mouse e tastiera
Intercettare gli eventi di mouse e tastieraIntercettare gli eventi di mouse e tastiera
Intercettare gli eventi di mouse e tastiera
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
 
Riepilogo Java C/C++
Riepilogo Java C/C++Riepilogo Java C/C++
Riepilogo Java C/C++
 
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
 
How To React - Gestione Stato Applicativo
How To React - Gestione Stato ApplicativoHow To React - Gestione Stato Applicativo
How To React - Gestione Stato Applicativo
 
Two months of Kotlin
Two months of KotlinTwo months of Kotlin
Two months of Kotlin
 
JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)
 
Rapido, intuitivo, potente: Qt Quick all'assalto delle User Interfaces
Rapido, intuitivo, potente: Qt Quick all'assalto delle User InterfacesRapido, intuitivo, potente: Qt Quick all'assalto delle User Interfaces
Rapido, intuitivo, potente: Qt Quick all'assalto delle User Interfaces
 
06 Android - lavorare in background
06 Android - lavorare in background06 Android - lavorare in background
06 Android - lavorare in background
 

More from Matteo Magni

Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con AnsibleMatteo Magni
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner Matteo Magni
 
jQuery - 4 | WebMaster & WebDesigner
jQuery - 4 | WebMaster & WebDesignerjQuery - 4 | WebMaster & WebDesigner
jQuery - 4 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerMatteo Magni
 
Javascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesignerJavascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesignerMatteo Magni
 
Web Usability - 3 | WebMaster & WebDesigner
 Web Usability - 3 | WebMaster & WebDesigner Web Usability - 3 | WebMaster & WebDesigner
Web Usability - 3 | WebMaster & WebDesignerMatteo Magni
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerMatteo Magni
 
Web Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesignerWeb Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesignerMatteo Magni
 
Seo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesignerSeo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesignerMatteo Magni
 
Seo e Web Marketing - 4 | WebMaster & WebDesigner
 Seo e Web Marketing - 4 | WebMaster & WebDesigner Seo e Web Marketing - 4 | WebMaster & WebDesigner
Seo e Web Marketing - 4 | WebMaster & WebDesignerMatteo Magni
 
Seo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesignerSeo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesignerMatteo Magni
 
Seo e Web Marketing - 2 | WebMaster & WebDesigner
Seo e Web Marketing - 2 | WebMaster & WebDesignerSeo e Web Marketing - 2 | WebMaster & WebDesigner
Seo e Web Marketing - 2 | WebMaster & WebDesignerMatteo Magni
 
Seo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerSeo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerMatteo Magni
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerMatteo Magni
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 

More from Matteo Magni (20)

Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con Ansible
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesigner
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesigner
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesigner
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
jQuery - 4 | WebMaster & WebDesigner
jQuery - 4 | WebMaster & WebDesignerjQuery - 4 | WebMaster & WebDesigner
jQuery - 4 | WebMaster & WebDesigner
 
jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesigner
 
Javascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesignerJavascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesigner
 
Web Usability - 3 | WebMaster & WebDesigner
 Web Usability - 3 | WebMaster & WebDesigner Web Usability - 3 | WebMaster & WebDesigner
Web Usability - 3 | WebMaster & WebDesigner
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesigner
 
Web Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesignerWeb Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesigner
 
Seo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesignerSeo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesigner
 
Seo e Web Marketing - 4 | WebMaster & WebDesigner
 Seo e Web Marketing - 4 | WebMaster & WebDesigner Seo e Web Marketing - 4 | WebMaster & WebDesigner
Seo e Web Marketing - 4 | WebMaster & WebDesigner
 
Seo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesignerSeo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesigner
 
Seo e Web Marketing - 2 | WebMaster & WebDesigner
Seo e Web Marketing - 2 | WebMaster & WebDesignerSeo e Web Marketing - 2 | WebMaster & WebDesigner
Seo e Web Marketing - 2 | WebMaster & WebDesigner
 
Seo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerSeo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesigner
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesigner
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 

Javascript - 7 | WebMaster & WebDesigner