SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
salvatore.paone@unifi.it	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

1	
  
jQuery	
  è	
  una	
  libreria	
  di	
  funzioni	
  (framework)	
  
javascript,	
  cross-­‐browser	
  per	
  le	
  applicazioni	
  web,	
  
che	
  si	
  propone	
  come	
  obiettivo	
  quello	
  di	
  
semplificare	
  la	
  programmazione	
  lato	
  client	
  delle	
  
pagine	
  HTML.	
  Il	
  framework	
  fornisce	
  metodi	
  e	
  
funzioni	
  per	
  gestire	
  al	
  meglio	
  aspetti	
  grafici	
  e	
  
strutturali	
  come	
  posizione	
  di	
  elementi,	
  effetto	
  di	
  
click	
  su	
  immagini,	
  manipolazione	
  del	
  
Document	
  Object	
  Model	
  e	
  quant'altro	
  ancora,	
  
mantenendo	
  la	
  compatibilità	
  tra	
  browser	
  diversi	
  e	
  
standardizzando	
  gli	
  oggetti	
  messi	
  a	
  disposizione	
  
dall'interprete	
  javascript	
  del	
  browser.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

2	
  
Per	
  ottenere	
  la	
  libreria:	
  
http://jquery.com/download/	
  
1.  Production	
  version	
  	
  -­‐	
  questo	
  è	
  per	
  il	
  vostro	
  
sito	
  web	
  di	
  produzione	
  il	
  codice	
  è	
  
minimizzato	
  e	
  compresso	
  
2.  Development	
  version	
  -­‐	
  versione	
  di	
  sviluppo	
  e	
  
di	
  test,	
  il	
  codice	
  è	
  facilmente	
  leggibile	
  
3.  CDN	
  di	
  Google	
  –	
  Content	
  Delivery	
  Network	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

3	
  
<head>
<script src="jquery-1.9.1.min.js"></script></script>
<script src="script.js"></script>
</head>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/
1.9.1/jquery.min.js”></script>
<script src="script.js"></script>
</head>

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

4	
  
La	
  sintassi	
  di	
  base:	
  
¡ 
¡ 
¡ 
¡ 
¡ 
¡ 
¡ 

$(selector).action();
jQuery(‘p’).css(‘color’, ‘blue’);
$(‘p’).css(‘color’, ‘blue’);
$(this).hide();
$("p").hide();
$(".test").hide();
$("#test").hide();

Ovvero: selettore, azione, parametri
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

5	
  
La	
  versione	
  di	
  UI	
  che	
  useremo	
  negli	
  esempi	
  è	
  la	
  
1.10.3	
  nel	
  formato	
  “completo”	
  compatibile	
  
con	
  jQuery	
  1.6+.	
  
Al	
  momento	
  jQuery	
  UI	
  è	
  suddivisa	
  in:	
  
Interactions	
  
Widgets	
  
Effects	
  
Utilities	
  
	
  
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

6	
  
http://code.jquery.com/jquery-­‐1.9.1.js	
  
http://code.jquery.com/ui/1.10.3/jquery-­‐ui.js	
  
http://code.jquery.com/ui/1.10.3/themes/
smoothness/jquery-­‐ui.css	
  
	
  
In	
  generale	
  tutti	
  i	
  link	
  assoluti	
  per	
  UI	
  e	
  non	
  solo	
  
http://code.jquery.com/	
  
	
  
	
  
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

7	
  
Questi	
  tipi	
  di	
  controlli	
  web	
  ricadono	
  in	
  jQuery	
  
UI	
  sotto	
  il	
  nome	
  di	
  Widget.	
  Il	
  nome	
  potrebbe	
  
essere	
  in	
  alcuni	
  casi	
  fuorviante,	
  visto	
  che	
  è	
  
spesso	
  associato	
  ad	
  applicazioni	
  del	
  desktop,	
  
tuttavia	
  in	
  questo	
  caso	
  si	
  tratta	
  solo	
  di	
  controlli	
  
atti	
  a	
  semplificare	
  e	
  ordinare	
  la	
  fruizione	
  e	
  
l’inserimento	
  dei	
  dati	
  da	
  una	
  pagina	
  web.	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

8	
  
jQuery	
  UI	
  comprende	
  nativamente	
  11	
  tipi	
  di	
  
widget,	
  completamente	
  compatibili	
  con	
  i	
  temi	
  
UI	
  generati	
  da	
  Theme	
  Roller	
  (la	
  web	
  application	
  
per	
  la	
  gestione	
  dei	
  temi)	
  e	
  ricchi	
  di	
  opzioni	
  di	
  
personalizzazione.	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

9	
  
¡  Accordion:	
  Visualizza	
  pannelli	
  di	
  contenuto	
  

comprimibili	
  per	
  presentare	
  le	
  informazioni	
  in	
  
una	
  quantità	
  limitata	
  di	
  spazio.	
  
¡  Autocomplete:	
  suggerisce	
  parole	
  mentre	
  
l'utente	
  sta	
  scrivendo.	
  
¡  Button:	
  inserisce	
  pulsanti	
  personalizzabili	
  
¡  Datepicker:	
  Visualizza	
  un	
  calendario	
  
¡  Dialog:	
  visualizza	
  finestre	
  di	
  dialogo	
  
personalizzabili	
  
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

10	
  
¡  Menu:	
  crea	
  menu	
  nidificabili.	
  
¡  Progressbar:	
  consente	
  di	
  visualizzare	
  un	
  

indicatore	
  di	
  stato	
  
¡  Slider:	
  Visualizza	
  diapositive	
  accessibili	
  
tramite	
  tastiera	
  
¡  Spinner:	
  Visualizza	
  i	
  pulsanti	
  per	
  immettere	
  
numeri	
  tramite	
  la	
  tastiera	
  o	
  il	
  mouse.	
  
¡  Tabs:	
  Trasforma	
  un	
  insieme	
  di	
  elementi	
  
contenitori	
  in	
  una	
  struttura	
  a	
  tab.	
  
¡  Tooltip:	
  mostra	
  informazioni	
  addizionali.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

11	
  
<div id="accordion">
    <h3><a href="#">Primo headerheader</a></h3>
    <div>First contenuto</div>
    <h3><a href="#">Secondo header</a></h3>
    <div>Secondo contenuto</div>
</div>

A	
  questo	
  punto	
  ci	
  basterà	
  richiamare	
  il	
  
metodo	
  .accordion()	
  sull’elemento	
  con	
  id	
  
accordion	
  per	
  attivare	
  il	
  widget	
  
$("#accordion").accordion();
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

12	
  
Accordion	
  offre	
  un	
  buon	
  numero	
  di	
  opzioni	
  per	
  personalizzare	
  il	
  comportamento	
  del	
  widget.	
  Fra	
  cui:	
  
	
  

¡ 

¡ 

¡ 

active	
  :	
  (selettore,	
  jQuery,	
  elemento	
  DOM,	
  numero,	
  
booleano	
  –	
  'first-­‐child’)	
  indica	
  uno	
  specifico	
  elemento	
  o	
  la	
  sua	
  
posizione	
  nell’accordion	
  in	
  modo	
  da	
  renderlo	
  subito	
  visibile	
  
una	
  volta	
  applicato	
  il	
  widget.	
  
autoHeight	
  :	
  (booleano	
  –	
  true)	
  indica	
  se	
  applicare	
  l’altezza	
  
del	
  contenitore	
  di	
  testo	
  più	
  alto	
  a	
  tutti	
  gli	
  altri	
  elementi.	
  
Questa	
  opzione	
  è	
  attiva	
  di	
  default	
  perché	
  rende	
  il	
  controllo	
  
più	
  consistente	
  e	
  impedisce	
  che	
  il	
  cambiamento	
  di	
  altezza	
  
dell’accordion	
  possa	
  influire	
  sul	
  posizionamento	
  di	
  altri	
  box	
  
nell’interfaccia.	
  
collapsible	
  :	
  (booleano	
  –	
  false)	
  strettamente	
  collegato	
  
all’opzione	
  precedente,	
  se	
  impostato	
  su	
  true	
  permette	
  di	
  
chiudere	
  tutte	
  le	
  aree	
  di	
  testo,	
  facendo	
  collassare	
  
completamente	
  il	
  controllo.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

13	
  
¡  http://api.jqueryui.com/accordion/#option-­‐

animate	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

14	
  
<div id="tabs">
    <ul>
        <li><a href="#fragment-1"><span>Uno</span></a></li>
        <li><a href="#fragment-2"><span>Due</span></a></li>
        <li><a href="#fragment-3"><span>Tre</span></a></li>
    </ul>
    <div id="fragment-1">
        <p>Testo 1</p>
    </div>
    <div id="fragment-2">
<p>Testo 2</p>
         </div>
    <div id="fragment-3">
<p>Testo 3</p>
    </div>
</div>

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

15	
  
la	
  struttura	
  grafica	
  dei	
  widget	
  e	
  delle	
  interazioni	
  
di	
  jQuery	
  UI	
  sia	
  in	
  gran	
  parte	
  veicolata	
  
dall’inclusione	
  di	
  un	
  file	
  CSS	
  compreso	
  nel	
  
pacchetto	
  di	
  installazione.	
  Themeroller	
  è	
  un	
  
applicativo	
  online	
  raggiungibile	
  all’indirizzo	
  
http://jqueryui.com/themeroller/	
  che	
  permette	
  
di	
  modificare	
  il	
  tema	
  base	
  smoothness	
  secondo	
  
le	
  proprie	
  esigenze	
  con	
  un	
  alto	
  grado	
  di	
  
personalizzazione.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

16	
  
Oltre	
  a	
  questo,	
  mette	
  a	
  disposizione	
  molti	
  
temi	
  preconfezionati	
  da	
  scaricare	
  direttamente	
  oppure	
  
da	
  usare	
  come	
  base	
  per	
  il	
  propio	
  tema.	
  
Fate	
  attenzione	
  che	
  cliccando	
  sul	
  link	
  di	
  download	
  dei	
  
temi	
  verrete	
  reindirizzati	
  all’utility	
  di	
  download	
  di	
  jQuery	
  
UI,	
  perciò	
  dovrete	
  scaricare	
  tutto	
  il	
  pacchetto	
  ed	
  estrarre	
  
la	
  cartella	
  del	
  tema	
  dalla	
  directory	
  css.	
  
La	
  struttura	
  e	
  la	
  nomenclatura	
  che	
  compongono	
  un	
  
tema	
  per	
  jQuery	
  UI	
  sono	
  rigidamente	
  standardizzati,	
  per	
  
garantire	
  la	
  compatibilità	
  fra	
  il	
  markup	
  generato	
  dalla	
  
libreria	
  e	
  la	
  formattazione	
  disponibile	
  via	
  CSS.	
  
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

17	
  
In	
  jQuery	
  un	
  plugin	
  non	
  è	
  altro	
  che	
  un’estensione	
  
(non	
  autonoma)	
  di	
  un	
  programma,	
  che	
  ha	
  come	
  
compito	
  quello	
  di	
  ampliarne	
  le	
  funzioni	
  del	
  core.	
  
Più	
  nello	
  specifico	
  un	
  plugin	
  è	
  una,	
  o	
  
un	
  insieme,	
  di	
  funzioni	
  che	
  hanno	
  lo	
  scopo	
  di	
  
utilizzare	
  il	
  framework	
  per	
  compiti	
  pre-­‐stabiliti	
  e	
  
quindi	
  aiutare	
  gli	
  sviluppatori	
  quando	
  si	
  tratta	
  di	
  
validare	
  i	
  nostri	
  formulari,	
  creare	
  delle	
  slideshow,	
  
inserire	
  nei	
  nostri	
  siti	
  delle	
  gallerie	
  fotografiche.	
  
	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

18	
  
1. 
2. 

Colorbox	
  -­‐	
  a	
  jQuery	
  lightbox	
  
A	
  lightweight	
  customizable	
  lightbox	
  plugin	
  
jQuery	
  Zoom	
  
A	
  plugin	
  to	
  enlarge	
  images	
  on	
  mouseover	
  or	
  
mousedown.	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

19	
  
Come	
  sempre	
  abbiamo	
  la	
  versione	
  ridotta	
  (min	
  di	
  produzione)	
  e	
  la	
  versione	
  non	
  compressa	
  (di	
  
sviluppo).	
  
<link rel="stylesheet" href="colorbox.css" />
<script src="../jquery.colorbox-min.js"></script>
Può	
  essere	
  utilizzato	
  sia	
  su	
  una	
  singola	
  immagine	
  sia	
  per	
  raccolte	
  in	
  stile	
  slideshow.	
  Per	
  
raggruppare	
  gli	
  elementi	
  includiamo	
  nel	
  mark-­‐up	
  l’attributo	
  rel=“gipso”	
  per	
  poi	
  utilizzare	
  il	
  
selettore	
  di	
  attributi	
  di	
  jQuery	
  per	
  trovari	
  tali	
  immagini.	
  
	
  
$(document).ready(function(){
//Examples of how to assign the Colorbox event to elements
$(".gipso").colorbox({
rel:'gipso’,
transition: 'fade’,
speed: 500,
current: "{current} di {total} foto d “,
});
$(".flora").colorbox();
});
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

20	
  
$(document).ready(function(){
$('#ex1').zoom();
$('#ex2').zoom({ on:'grab' });
$('#ex3').zoom({ on:'click' });
$('#ex4').zoom({ on:'toggle' });
});
<span	
  class='zoom'	
  id='ex1'>	
  
	
  <img	
  src='daisy.jpg'	
  id='jack'	
  width='555'	
  height='320'	
  
	
  alt='Daisy	
  on	
  the	
  Ohoopee'/>	
  
	
  <p>Hover</p>	
  
</span>	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

21	
  
Basato	
  su	
  jQuery	
  ed	
  ispirato	
  al	
  progetto	
  UI,	
  
jQuery	
  Mobile	
  è	
  un	
  progetto	
  molto	
  giovane,	
  
ma	
  offre	
  una	
  buona	
  stabilità	
  ed	
  un	
  numero	
  di	
  
funzionalità	
  adeguate	
  per	
  sviluppare	
  
applicazioni	
  web	
  mobile	
  complete.	
  
Sul	
  sito	
  ufficiale	
  di	
  jQuery	
  Mobile	
  è	
  disponibile	
  
una	
  griglia,	
  aggiornata	
  all’ultima	
  versione	
  della	
  
libreria,	
  nella	
  quale	
  verificare	
  il	
  tipo	
  di	
  supporto	
  
offerto.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

22	
  
<div data-role="page"
id="identificativo_pagina">
    <!-- contenuto della prima pagina -->
</div>
<div data-role="page"
id="identificativo_pagina_2">
    <!-- contenuto della seconda pagina -->
</div>
In	
  questo	
  tipo	
  di	
  template	
  multi-­‐pagina,	
  la	
  navigazione	
  interna	
  è	
  
realizzata	
  considerando	
  ogni	
  pagina	
  come	
  un’ancora:
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

23	
  
<a href="dove-siamo.html" datarel="dialog">Dove siamo</a>

	
  
Per	
  default	
  jQuery	
  Mobile	
  inserisce	
  un	
  tasto	
  
per	
  chiudere	
  la	
  finestra	
  di	
  dialogo	
  nell’angolo	
  
in	
  alto	
  a	
  sinistra	
  dell’header,	
  tuttavia	
  è	
  possibile	
  
realizzare	
  questo	
  controllo	
  includendo	
  un	
  
semplice	
  link	
  con	
  data-­‐rel="back",	
  nello	
  stesso	
  
modo	
  in	
  cui	
  realizzeremmo	
  un	
  link	
  back	
  per	
  la	
  
navigazione	
  classica.	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

24	
  
Oltre	
  alla	
  transizione	
  predefinita	
  è	
  possibile	
  
definire	
  transizioni	
  specifiche	
  fra	
  una	
  pagina	
  e	
  
l’altra	
  e	
  per	
  l’apertura	
  delle	
  finestre	
  di	
  dialogo	
  
in	
  modo	
  da	
  diversificare,	
  ad	
  esempio,	
  il	
  
passaggio	
  fra	
  le	
  sezioni	
  del	
  sito	
  e	
  le	
  pagine	
  di	
  
una	
  stessa	
  sezione.	
  	
  
Sulla	
  documentazione	
  ufficiale	
  del	
  progetto	
  
sono	
  disponibili	
  delle	
  dimostrazioni	
  delle	
  
transizioni	
  supportate.	
  	
  
a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

25	
  
<!-- diversifico la transizione fra pagine -->
<a href="#mission" datatransition="slideup">Mission</a>

Se	
  vogliamo	
  ottenere	
  un	
  effetto	
  riavvolgimento	
  è	
  
anche	
  possibile	
  invertire	
  l’andamento	
  della	
  transizione	
  
aggiungendo	
  data-­‐direction="reverse"	
  al	
  link	
  in	
  
questione.	
  	
  
Questa	
  caratteristica	
  è	
  già	
  presente	
  di	
  default	
  in	
  tutti	
  i	
  
pulsanti	
  con	
  data-­‐rel="back"	
  per	
  migliorare	
  il	
  feedback	
  
visivo	
  durante	
  la	
  navigazione	
  del	
  sito.	
  

	
  

a.a.	
  2012/2013	
  |	
  Salvatore	
  Paone	
  |	
  salvatore.paone@unifi.it	
  

26	
  

Más contenido relacionado

La actualidad más candente

Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteNicolò Carandini
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazorNicolò Carandini
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelAndrea Tosato
 
Async/Await: make it simple!!
Async/Await: make it simple!!Async/Await: make it simple!!
Async/Await: make it simple!!Massimo Bonanni
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campusDotNetCampus
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreManuel Scapolan
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationAntonio Liccardi
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationDotNetCampus
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciutaAndrea Dottor
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della SoluzioneLuca Milan
 

La actualidad más candente (20)

Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET lovers
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynote
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor Model
 
Async/Await: make it simple!!
Async/Await: make it simple!!Async/Await: make it simple!!
Async/Await: make it simple!!
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatore
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della Soluzione
 

Similar a jQuery

AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
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
 
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
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...Codemotion
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriGrUSP
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriAlessandro Nadalin
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsAndrea Dottor
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsKnowCamp
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8Valerio Radice
 
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 DevicesAndrea Picchi
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
 

Similar a jQuery (20)

Jquery mobile per App
Jquery mobile per AppJquery mobile per App
Jquery mobile per App
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)DNM19 Sessione1 Orchard Primo Impatto (ita)
DNM19 Sessione1 Orchard Primo Impatto (ita)
 
Html e Css - 2 | 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
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 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
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8
 
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
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 

Más de Salvatore Paone

Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignSalvatore Paone
 
Software Grafica Open Source
Software Grafica Open SourceSoftware Grafica Open Source
Software Grafica Open SourceSalvatore Paone
 
Initializr - come iniziare
Initializr - come iniziareInitializr - come iniziare
Initializr - come iniziareSalvatore Paone
 
Primo approccio al design adattivo
Primo approccio al design adattivoPrimo approccio al design adattivo
Primo approccio al design adattivoSalvatore Paone
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziareSalvatore Paone
 
Informatica applicata ai beni culturali
Informatica applicata ai beni culturaliInformatica applicata ai beni culturali
Informatica applicata ai beni culturaliSalvatore Paone
 
Bilancio Insieme Salute Toscana 2011
Bilancio Insieme Salute Toscana 2011Bilancio Insieme Salute Toscana 2011
Bilancio Insieme Salute Toscana 2011Salvatore Paone
 

Más de Salvatore Paone (9)

Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web Design
 
Software Grafica Open Source
Software Grafica Open SourceSoftware Grafica Open Source
Software Grafica Open Source
 
Initializr - come iniziare
Initializr - come iniziareInitializr - come iniziare
Initializr - come iniziare
 
Primo approccio al design adattivo
Primo approccio al design adattivoPrimo approccio al design adattivo
Primo approccio al design adattivo
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Html5
Html5Html5
Html5
 
Informatica applicata ai beni culturali
Informatica applicata ai beni culturaliInformatica applicata ai beni culturali
Informatica applicata ai beni culturali
 
Bilancio Insieme Salute Toscana 2011
Bilancio Insieme Salute Toscana 2011Bilancio Insieme Salute Toscana 2011
Bilancio Insieme Salute Toscana 2011
 
CSS3
CSS3CSS3
CSS3
 

Último

TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxteccarellilorenzo
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfteccarellilorenzo
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxteccarellilorenzo
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxteccarellilorenzo
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 

Último (20)

TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 

jQuery

  • 1. salvatore.paone@unifi.it   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   1  
  • 2. jQuery  è  una  libreria  di  funzioni  (framework)   javascript,  cross-­‐browser  per  le  applicazioni  web,   che  si  propone  come  obiettivo  quello  di   semplificare  la  programmazione  lato  client  delle   pagine  HTML.  Il  framework  fornisce  metodi  e   funzioni  per  gestire  al  meglio  aspetti  grafici  e   strutturali  come  posizione  di  elementi,  effetto  di   click  su  immagini,  manipolazione  del   Document  Object  Model  e  quant'altro  ancora,   mantenendo  la  compatibilità  tra  browser  diversi  e   standardizzando  gli  oggetti  messi  a  disposizione   dall'interprete  javascript  del  browser.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   2  
  • 3. Per  ottenere  la  libreria:   http://jquery.com/download/   1.  Production  version    -­‐  questo  è  per  il  vostro   sito  web  di  produzione  il  codice  è   minimizzato  e  compresso   2.  Development  version  -­‐  versione  di  sviluppo  e   di  test,  il  codice  è  facilmente  leggibile   3.  CDN  di  Google  –  Content  Delivery  Network   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   3  
  • 4. <head> <script src="jquery-1.9.1.min.js"></script></script> <script src="script.js"></script> </head> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/ 1.9.1/jquery.min.js”></script> <script src="script.js"></script> </head> a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   4  
  • 5. La  sintassi  di  base:   ¡  ¡  ¡  ¡  ¡  ¡  ¡  $(selector).action(); jQuery(‘p’).css(‘color’, ‘blue’); $(‘p’).css(‘color’, ‘blue’); $(this).hide(); $("p").hide(); $(".test").hide(); $("#test").hide(); Ovvero: selettore, azione, parametri a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   5  
  • 6. La  versione  di  UI  che  useremo  negli  esempi  è  la   1.10.3  nel  formato  “completo”  compatibile   con  jQuery  1.6+.   Al  momento  jQuery  UI  è  suddivisa  in:   Interactions   Widgets   Effects   Utilities       a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   6  
  • 7. http://code.jquery.com/jquery-­‐1.9.1.js   http://code.jquery.com/ui/1.10.3/jquery-­‐ui.js   http://code.jquery.com/ui/1.10.3/themes/ smoothness/jquery-­‐ui.css     In  generale  tutti  i  link  assoluti  per  UI  e  non  solo   http://code.jquery.com/         a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   7  
  • 8. Questi  tipi  di  controlli  web  ricadono  in  jQuery   UI  sotto  il  nome  di  Widget.  Il  nome  potrebbe   essere  in  alcuni  casi  fuorviante,  visto  che  è   spesso  associato  ad  applicazioni  del  desktop,   tuttavia  in  questo  caso  si  tratta  solo  di  controlli   atti  a  semplificare  e  ordinare  la  fruizione  e   l’inserimento  dei  dati  da  una  pagina  web.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   8  
  • 9. jQuery  UI  comprende  nativamente  11  tipi  di   widget,  completamente  compatibili  con  i  temi   UI  generati  da  Theme  Roller  (la  web  application   per  la  gestione  dei  temi)  e  ricchi  di  opzioni  di   personalizzazione.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   9  
  • 10. ¡  Accordion:  Visualizza  pannelli  di  contenuto   comprimibili  per  presentare  le  informazioni  in   una  quantità  limitata  di  spazio.   ¡  Autocomplete:  suggerisce  parole  mentre   l'utente  sta  scrivendo.   ¡  Button:  inserisce  pulsanti  personalizzabili   ¡  Datepicker:  Visualizza  un  calendario   ¡  Dialog:  visualizza  finestre  di  dialogo   personalizzabili     a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   10  
  • 11. ¡  Menu:  crea  menu  nidificabili.   ¡  Progressbar:  consente  di  visualizzare  un   indicatore  di  stato   ¡  Slider:  Visualizza  diapositive  accessibili   tramite  tastiera   ¡  Spinner:  Visualizza  i  pulsanti  per  immettere   numeri  tramite  la  tastiera  o  il  mouse.   ¡  Tabs:  Trasforma  un  insieme  di  elementi   contenitori  in  una  struttura  a  tab.   ¡  Tooltip:  mostra  informazioni  addizionali.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   11  
  • 12. <div id="accordion">     <h3><a href="#">Primo headerheader</a></h3>     <div>First contenuto</div>     <h3><a href="#">Secondo header</a></h3>     <div>Secondo contenuto</div> </div> A  questo  punto  ci  basterà  richiamare  il   metodo  .accordion()  sull’elemento  con  id   accordion  per  attivare  il  widget   $("#accordion").accordion();   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   12  
  • 13. Accordion  offre  un  buon  numero  di  opzioni  per  personalizzare  il  comportamento  del  widget.  Fra  cui:     ¡  ¡  ¡  active  :  (selettore,  jQuery,  elemento  DOM,  numero,   booleano  –  'first-­‐child’)  indica  uno  specifico  elemento  o  la  sua   posizione  nell’accordion  in  modo  da  renderlo  subito  visibile   una  volta  applicato  il  widget.   autoHeight  :  (booleano  –  true)  indica  se  applicare  l’altezza   del  contenitore  di  testo  più  alto  a  tutti  gli  altri  elementi.   Questa  opzione  è  attiva  di  default  perché  rende  il  controllo   più  consistente  e  impedisce  che  il  cambiamento  di  altezza   dell’accordion  possa  influire  sul  posizionamento  di  altri  box   nell’interfaccia.   collapsible  :  (booleano  –  false)  strettamente  collegato   all’opzione  precedente,  se  impostato  su  true  permette  di   chiudere  tutte  le  aree  di  testo,  facendo  collassare   completamente  il  controllo.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   13  
  • 14. ¡  http://api.jqueryui.com/accordion/#option-­‐ animate   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   14  
  • 15. <div id="tabs">     <ul>         <li><a href="#fragment-1"><span>Uno</span></a></li>         <li><a href="#fragment-2"><span>Due</span></a></li>         <li><a href="#fragment-3"><span>Tre</span></a></li>     </ul>     <div id="fragment-1">         <p>Testo 1</p>     </div>     <div id="fragment-2"> <p>Testo 2</p>          </div>     <div id="fragment-3"> <p>Testo 3</p>     </div> </div> a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   15  
  • 16. la  struttura  grafica  dei  widget  e  delle  interazioni   di  jQuery  UI  sia  in  gran  parte  veicolata   dall’inclusione  di  un  file  CSS  compreso  nel   pacchetto  di  installazione.  Themeroller  è  un   applicativo  online  raggiungibile  all’indirizzo   http://jqueryui.com/themeroller/  che  permette   di  modificare  il  tema  base  smoothness  secondo   le  proprie  esigenze  con  un  alto  grado  di   personalizzazione.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   16  
  • 17. Oltre  a  questo,  mette  a  disposizione  molti   temi  preconfezionati  da  scaricare  direttamente  oppure   da  usare  come  base  per  il  propio  tema.   Fate  attenzione  che  cliccando  sul  link  di  download  dei   temi  verrete  reindirizzati  all’utility  di  download  di  jQuery   UI,  perciò  dovrete  scaricare  tutto  il  pacchetto  ed  estrarre   la  cartella  del  tema  dalla  directory  css.   La  struttura  e  la  nomenclatura  che  compongono  un   tema  per  jQuery  UI  sono  rigidamente  standardizzati,  per   garantire  la  compatibilità  fra  il  markup  generato  dalla   libreria  e  la  formattazione  disponibile  via  CSS.     a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   17  
  • 18. In  jQuery  un  plugin  non  è  altro  che  un’estensione   (non  autonoma)  di  un  programma,  che  ha  come   compito  quello  di  ampliarne  le  funzioni  del  core.   Più  nello  specifico  un  plugin  è  una,  o   un  insieme,  di  funzioni  che  hanno  lo  scopo  di   utilizzare  il  framework  per  compiti  pre-­‐stabiliti  e   quindi  aiutare  gli  sviluppatori  quando  si  tratta  di   validare  i  nostri  formulari,  creare  delle  slideshow,   inserire  nei  nostri  siti  delle  gallerie  fotografiche.     a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   18  
  • 19. 1.  2.  Colorbox  -­‐  a  jQuery  lightbox   A  lightweight  customizable  lightbox  plugin   jQuery  Zoom   A  plugin  to  enlarge  images  on  mouseover  or   mousedown.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   19  
  • 20. Come  sempre  abbiamo  la  versione  ridotta  (min  di  produzione)  e  la  versione  non  compressa  (di   sviluppo).   <link rel="stylesheet" href="colorbox.css" /> <script src="../jquery.colorbox-min.js"></script> Può  essere  utilizzato  sia  su  una  singola  immagine  sia  per  raccolte  in  stile  slideshow.  Per   raggruppare  gli  elementi  includiamo  nel  mark-­‐up  l’attributo  rel=“gipso”  per  poi  utilizzare  il   selettore  di  attributi  di  jQuery  per  trovari  tali  immagini.     $(document).ready(function(){ //Examples of how to assign the Colorbox event to elements $(".gipso").colorbox({ rel:'gipso’, transition: 'fade’, speed: 500, current: "{current} di {total} foto d “, }); $(".flora").colorbox(); }); a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   20  
  • 21. $(document).ready(function(){ $('#ex1').zoom(); $('#ex2').zoom({ on:'grab' }); $('#ex3').zoom({ on:'click' }); $('#ex4').zoom({ on:'toggle' }); }); <span  class='zoom'  id='ex1'>    <img  src='daisy.jpg'  id='jack'  width='555'  height='320'    alt='Daisy  on  the  Ohoopee'/>    <p>Hover</p>   </span>   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   21  
  • 22. Basato  su  jQuery  ed  ispirato  al  progetto  UI,   jQuery  Mobile  è  un  progetto  molto  giovane,   ma  offre  una  buona  stabilità  ed  un  numero  di   funzionalità  adeguate  per  sviluppare   applicazioni  web  mobile  complete.   Sul  sito  ufficiale  di  jQuery  Mobile  è  disponibile   una  griglia,  aggiornata  all’ultima  versione  della   libreria,  nella  quale  verificare  il  tipo  di  supporto   offerto.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   22  
  • 23. <div data-role="page" id="identificativo_pagina">     <!-- contenuto della prima pagina --> </div> <div data-role="page" id="identificativo_pagina_2">     <!-- contenuto della seconda pagina --> </div> In  questo  tipo  di  template  multi-­‐pagina,  la  navigazione  interna  è   realizzata  considerando  ogni  pagina  come  un’ancora: a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   23  
  • 24. <a href="dove-siamo.html" datarel="dialog">Dove siamo</a>   Per  default  jQuery  Mobile  inserisce  un  tasto   per  chiudere  la  finestra  di  dialogo  nell’angolo   in  alto  a  sinistra  dell’header,  tuttavia  è  possibile   realizzare  questo  controllo  includendo  un   semplice  link  con  data-­‐rel="back",  nello  stesso   modo  in  cui  realizzeremmo  un  link  back  per  la   navigazione  classica.   a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   24  
  • 25. Oltre  alla  transizione  predefinita  è  possibile   definire  transizioni  specifiche  fra  una  pagina  e   l’altra  e  per  l’apertura  delle  finestre  di  dialogo   in  modo  da  diversificare,  ad  esempio,  il   passaggio  fra  le  sezioni  del  sito  e  le  pagine  di   una  stessa  sezione.     Sulla  documentazione  ufficiale  del  progetto   sono  disponibili  delle  dimostrazioni  delle   transizioni  supportate.     a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   25  
  • 26. <!-- diversifico la transizione fra pagine --> <a href="#mission" datatransition="slideup">Mission</a> Se  vogliamo  ottenere  un  effetto  riavvolgimento  è   anche  possibile  invertire  l’andamento  della  transizione   aggiungendo  data-­‐direction="reverse"  al  link  in   questione.     Questa  caratteristica  è  già  presente  di  default  in  tutti  i   pulsanti  con  data-­‐rel="back"  per  migliorare  il  feedback   visivo  durante  la  navigazione  del  sito.     a.a.  2012/2013  |  Salvatore  Paone  |  salvatore.paone@unifi.it   26