SlideShare uma empresa Scribd logo
1 de 30
jQuery e i suoi plugin Pasquale Puzio 26 Maggio 2011, Bologna
Agenda Fondamenti di jQuery jQuery DOM & CSS Ajax & Gestionedeglieventi Animazioni Plugin RICH Internet (Web) Application DEMO ‘All in one’
Fondamenti di jQuery jQuery è unalibreria/framework open-source per Javascriptconcepita per semplificarenotevolmente e cambiareradicalmenteilmodo di programmare in Javascript
Perché scegliere jQuery GRATIS Semplicità Piena compatibilità Cross-Browser:IE 6+, FireFox 2+, Safari 3+, Opera 9+, Chrome Documentazione Community di supporto Quantità enorme di plugin Integrazione con i principali IDE tra cui Visual Studio
Perché scegliere jQuery Perché è meglio di questo: function assegnaXMLHttpRequest() { var XHR = null; browserUtente= navigator.userAgent.toUpperCase(); If (typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")    XHR = new XMLHttpRequest(); else if( window.ActiveXObject&& browserUtente.indexOf("MSIE 4") < 0 ) { If (browserUtente.indexOf("MSIE 5") < 0)     XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }
PerchèsceglierejQuery
PerchèsceglierejQuery
PerchèsceglierejQuery
Filosofia di jQuery Per accedere agli elementi del DOM si utilizzano i selettori CSS I selettori restituiscono un’istanza di jQuery sulla quale è possibile eseguire alcune azioni (manipolazione del DOM, CSS, gestione degli eventi, chiamate Ajax, ecc.)
Filosofia di jQuery Funzione principale: jQuery() Alias: $() Selezione Azione
DOM & CSS (Selettori) $("#ID") 					// id  $("div") 					// div tag name  $('[name*="value"]') 			// name contains  $('[name^="value"]') 			// name start  $(".myCssClass") 				// css class name  $("form input") 				// descendant(s)  $("#main > div") 				// child(s)  $("#main ~ div") 				// sibling(s)  $("input[name='radio']:checked") 	// radio checked  $("td:first-child a") 			//<a> in first td  $("input:disabled") 			// disabled input a[href^="http://"]			// external links
DOM & CSS (Manipolazione DOM) $(‘div#content’).html(‘<p>Contenuto</p>’); $(‘div#content’).append(‘<a>Link</a>’); $(‘div#content’).addClass(‘red’); $(‘div#content’).toggleClass(‘yellow’); $(‘div#contenta’).attr(‘href’,’http://www.jquery.org’); $(‘div#contenta’).css(‘font-weight’,’bold’); $(‘div#content p’).parent(); $(‘div#content p’).after(); $(‘div#contenta’).before();
DOM & CSS DEMO
Ajax e Gestione degli eventi $(document).ready(function() { alert(‘DOM is ready!’); }); $(‘a#button’).click(function() { 	$(this).css(‘color’,’green’); });
Ajax e Gestione degli eventi $(‘div#sidebar’).load(‘sidebar.php’); // metodi Ajax $.get(url, [data], callback); $.post(url, [data], callback); $.getJSON(url, params, callback); $.getScript(url, callback);
Ajax e Gestione degli eventi DEMO
Animazioni $(‘p#myParagraph’).show(); $(‘p#myParagraph’).hide(); $(‘p#myParagraph’).toggle(); $(‘p#myParagraph’).fadeIn(); $(‘p#myParagraph’).fadeOut(); // animazioni custom $(‘p#myParagraph’).animate(params);
Animazioni DEMO
Plugin Innumerevoli plugin per qualsiasi esigenza Animazioni (slideshow, carousel, ecc.) User Interface Rich Internet (Web) Application E’ facile sviluppare un plugin E’ facile utilizzare un plugin <script src=‘jquery.js’ type=‘text/javascript’></script> <script src=‘myplugin.js’ type=‘text/javascript’></script>
Plugin (Template) Sviluppato da Microsoft Permette a partire da strutture dati Javascript di generare codice HTML mediante l’uso di Template
Plugin (Template)
jQuery (Data Link) Anch’esso sviluppato da Microsoft Permette di creare un bind tra gli elementi di un form e un oggetto Javascript
Plugin (Data Link)
DEMO ‘ALL IN ONE’ DEMO $(‘#demo’).show()
Conclusioni Semplicità Completezza Flessibilità Supporto Potenzialità
Per iniziarea sviluppare Visual Studio Express 2010 o Visual Studio 2010 Professional (MSDN Academic Alliance): http://www.microsoft.com/express/Web/ Eclipse + plugin Aptana: http://www.aptana.com/
DOMANDE? Grazie per l’attenzione
Riferimenti jQuery (UI): http://www.jquery.com http://www.jqueryui.com MSDN Academic Alliance Unibo: http://msdn60.e-academy.com/elms/Storefront/Home.aspx?campus=dsdi_si Slide e materiale del seminario: http://www.pasqualepuzio.it/seminari/jquery-bologna
Contatti puzio@cs.unibo.it http://www.pasqualepuzio.it
RISORSE

Mais conteúdo relacionado

Mais procurados

Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Datisegarva
 
PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)Asmir Mustafic
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerMatteo Magni
 
PHP Template Engine (introduzione)
PHP Template Engine (introduzione)PHP Template Engine (introduzione)
PHP Template Engine (introduzione)Asmir Mustafic
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyDrupalDay
 
Javascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerJavascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerMatteo Magni
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cmsorestJump
 
Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Marco Albarelli
 

Mais procurados (9)

Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Dati
 
Umarells
UmarellsUmarells
Umarells
 
PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesigner
 
PHP Template Engine (introduzione)
PHP Template Engine (introduzione)PHP Template Engine (introduzione)
PHP Template Engine (introduzione)
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
 
Javascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerJavascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesigner
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cms
 
Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)
 

Semelhante a jQuery e i suoi plugin

Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Davide Cerbo
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chromeMarco Vito Moscaritolo
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Pietro Polsinelli
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)jampslide
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàskam
 
Introduzione a java script
Introduzione a java scriptIntroduzione a java script
Introduzione a java scriptMatteo Ceserani
 
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
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoJava User Group Roma
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 

Semelhante a jQuery e i suoi plugin (20)

Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
Oo Javascript
Oo JavascriptOo Javascript
Oo Javascript
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chrome
 
Yagwto
YagwtoYagwto
Yagwto
 
eZ publish - Extension
eZ publish - ExtensioneZ publish - Extension
eZ publish - Extension
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Pycon Jungle
Pycon JunglePycon Jungle
Pycon Jungle
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)
 
Django
DjangoDjango
Django
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalità
 
Introduzione a java script
Introduzione a java scriptIntroduzione a java script
Introduzione a java script
 
Corso di php01
Corso di php01Corso di php01
Corso di php01
 
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
 
Ajax
AjaxAjax
Ajax
 
Presentazione wicket
Presentazione wicketPresentazione wicket
Presentazione wicket
 
Java Advanced
Java AdvancedJava Advanced
Java Advanced
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano Ciccazzo
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 

Último

Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.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
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
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
 
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
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
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 (19)

Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.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
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
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
 
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
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.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 e i suoi plugin

  • 1. jQuery e i suoi plugin Pasquale Puzio 26 Maggio 2011, Bologna
  • 2. Agenda Fondamenti di jQuery jQuery DOM & CSS Ajax & Gestionedeglieventi Animazioni Plugin RICH Internet (Web) Application DEMO ‘All in one’
  • 3. Fondamenti di jQuery jQuery è unalibreria/framework open-source per Javascriptconcepita per semplificarenotevolmente e cambiareradicalmenteilmodo di programmare in Javascript
  • 4. Perché scegliere jQuery GRATIS Semplicità Piena compatibilità Cross-Browser:IE 6+, FireFox 2+, Safari 3+, Opera 9+, Chrome Documentazione Community di supporto Quantità enorme di plugin Integrazione con i principali IDE tra cui Visual Studio
  • 5. Perché scegliere jQuery Perché è meglio di questo: function assegnaXMLHttpRequest() { var XHR = null; browserUtente= navigator.userAgent.toUpperCase(); If (typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") XHR = new XMLHttpRequest(); else if( window.ActiveXObject&& browserUtente.indexOf("MSIE 4") < 0 ) { If (browserUtente.indexOf("MSIE 5") < 0) XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }
  • 9. Filosofia di jQuery Per accedere agli elementi del DOM si utilizzano i selettori CSS I selettori restituiscono un’istanza di jQuery sulla quale è possibile eseguire alcune azioni (manipolazione del DOM, CSS, gestione degli eventi, chiamate Ajax, ecc.)
  • 10. Filosofia di jQuery Funzione principale: jQuery() Alias: $() Selezione Azione
  • 11. DOM & CSS (Selettori) $("#ID") // id $("div") // div tag name $('[name*="value"]') // name contains $('[name^="value"]') // name start $(".myCssClass") // css class name $("form input") // descendant(s) $("#main > div") // child(s) $("#main ~ div") // sibling(s) $("input[name='radio']:checked") // radio checked $("td:first-child a") //<a> in first td $("input:disabled") // disabled input a[href^="http://"] // external links
  • 12. DOM & CSS (Manipolazione DOM) $(‘div#content’).html(‘<p>Contenuto</p>’); $(‘div#content’).append(‘<a>Link</a>’); $(‘div#content’).addClass(‘red’); $(‘div#content’).toggleClass(‘yellow’); $(‘div#contenta’).attr(‘href’,’http://www.jquery.org’); $(‘div#contenta’).css(‘font-weight’,’bold’); $(‘div#content p’).parent(); $(‘div#content p’).after(); $(‘div#contenta’).before();
  • 13. DOM & CSS DEMO
  • 14. Ajax e Gestione degli eventi $(document).ready(function() { alert(‘DOM is ready!’); }); $(‘a#button’).click(function() { $(this).css(‘color’,’green’); });
  • 15. Ajax e Gestione degli eventi $(‘div#sidebar’).load(‘sidebar.php’); // metodi Ajax $.get(url, [data], callback); $.post(url, [data], callback); $.getJSON(url, params, callback); $.getScript(url, callback);
  • 16. Ajax e Gestione degli eventi DEMO
  • 17. Animazioni $(‘p#myParagraph’).show(); $(‘p#myParagraph’).hide(); $(‘p#myParagraph’).toggle(); $(‘p#myParagraph’).fadeIn(); $(‘p#myParagraph’).fadeOut(); // animazioni custom $(‘p#myParagraph’).animate(params);
  • 19. Plugin Innumerevoli plugin per qualsiasi esigenza Animazioni (slideshow, carousel, ecc.) User Interface Rich Internet (Web) Application E’ facile sviluppare un plugin E’ facile utilizzare un plugin <script src=‘jquery.js’ type=‘text/javascript’></script> <script src=‘myplugin.js’ type=‘text/javascript’></script>
  • 20. Plugin (Template) Sviluppato da Microsoft Permette a partire da strutture dati Javascript di generare codice HTML mediante l’uso di Template
  • 22. jQuery (Data Link) Anch’esso sviluppato da Microsoft Permette di creare un bind tra gli elementi di un form e un oggetto Javascript
  • 24. DEMO ‘ALL IN ONE’ DEMO $(‘#demo’).show()
  • 25. Conclusioni Semplicità Completezza Flessibilità Supporto Potenzialità
  • 26. Per iniziarea sviluppare Visual Studio Express 2010 o Visual Studio 2010 Professional (MSDN Academic Alliance): http://www.microsoft.com/express/Web/ Eclipse + plugin Aptana: http://www.aptana.com/
  • 27. DOMANDE? Grazie per l’attenzione
  • 28. Riferimenti jQuery (UI): http://www.jquery.com http://www.jqueryui.com MSDN Academic Alliance Unibo: http://msdn60.e-academy.com/elms/Storefront/Home.aspx?campus=dsdi_si Slide e materiale del seminario: http://www.pasqualepuzio.it/seminari/jquery-bologna