SlideShare une entreprise Scribd logo
UX-DAY
JQuery
Write less, Do more
SMAHI Zakaria <z_smahi@esi.dz>
C'est quoi JQuery ?
● Javascript framework
● Interaction entre JavaScript (AJAX inclus) et HTML.
● John Resig Janvier 2006. 120Ko (19ko compressé en format
gzip).
● Populaire, Open Source ( MIT & Gnu GPL), bien documenté et
extensible.
● Nombreux plugins.
● Mis à jour réguliérement. (version 1.9 et 2.0).
● Normalise les différences entre les navigateurs web.
● Sites: Google, Amazon, Mozilla.org, Facebook, Wordpress,
Drupal...etc.
Que Faire/Ne pas faire ?
● Faire :
● Gérer les interactions avec
l'utilisateur.
● Prétraiter les formulaires.
● Créer des animations et effets.
● Manipuler le DOM.
● Utiliser AJAX simplement.
● Créer des RIA (rich Internet
Applications).
● Ne pas Faire :
● Remplacer par un langage
coté serveur ( php, asp,
jsp).
● Remplacer totalement flash
et HTML.
● Remplacer un rôle
sécuritaire.
Outils de développement
● Editeur de texte (Notepad++, Gedit, Notepad ...etc. ).
● Navigateur web (Mozilla Firefox, Google Chrome ).
● Extension de développement (Firebug sous firefox,
Outils de développement sous Chrome ...etc. )
$( )
● Fonction de base de JQuery.
● Alias de la fonction JQuery.
● Permet d'associer le démarrage du script sur
l'event ready du document + sélectionner les
éléments de la page à manipuler par la suite.
$(doument).ready()
● Démarre la fonction anonyme lorsque les
éléments de la page sont prêts.
● <script type= « text/javascript » >
$(document).ready(function(){
// ici du code ;
}) ;
</script>
Sélécteurs
● Viser les éléments de la page à manipuler.
● La fonction $().
● Syntaxe des sélécteurs CSS( 1, 2 et 3) et XPath.
● Renvoie un ou plusieurs objets JQuery.
var objet = $(« sélécteur ») ;
● var objet = $(« #monId ») ; // Id
● var objet = $(« .maClasse ») ; // Classe
● var objet = $(« div ») ; // Tag
Sélécteurs
● <div>
<ul>
<li>
</li>
</ul>
</div>
<p> paragraphe 1 </p>
<p> paragraphe 2 </p>
<p> paragraphe 3 </p>
● Hiérarchie : ancêtre et
descendant
$(« div ul ») ; $(« div ul li ») ;
● Hiérarchie : parent et enfant
$(« div > ul ») ;
● Hiérarchie : précédent et suivant
$(« div + p ») ;
● Hiérarchie : frère et frères
$(« div ~ p ») ;
Sélécteurs Magiques
(Filtres)
● :first, :last, :even, :odd, :eq, :lt,
:gt
● :nth-child(), :first-child(), :last-
child(), :only-child()
● :hidden,:visible
● :header
● :parent
● :has(élément)
● :contains(« texte »)
● :empty, :not(négation)
● Sur attribut :
$(« input [type=submit] ») ;
$(« input [type !=submit] ») ;
● Expression réguliéres :
^= ( débute par …).
$= ( finit par …).
*= (contient la valeur …).
● [attr1][attr2] : contient les
attributs...
● Formulaires :
$(« #formulaire :checkbox ») ;
$(« #formulaire
:checkbox:checked») ;
Collections JQuery
● $('div.section') retourne une collection JQuery.
● La collection peut être manipulée comme un tableau :
$('div.section').length (ou .size) = n° des éléments.
$('div.section')[0] : le 1er élément DOM sous div
$('div.section')[2]
$('div.section').each(function() {
console.log(this);
});
$('div.section').each(function(i) {
console.log("Item " + i + " is ", this);
});
HTML futzing
● $('span#msg').text('The thing was updated!');
● $('div#intro').html('<em>Look, HTML</em>');
Attribute futzing
$('a.nav').attr('href', 'http://flickr.com/');
● $('a.nav').attr({
'href': 'http://flickr.com/',
'id': 'flickr'
});
● $('#intro').removeAttr('id');
CSS futzing
● $('#intro').addClass('highlighted');
● $('#intro').removeClass('highlighted');
● $('#intro').toggleClass('highlighted');
● $('p').css('font-size', '20px');
● $('p').css({'font-size': '20px', color: 'red'});
Méthodes et Valeurs
● Certaines méthodes font retourner un(des)
résultat(s) depuis le 1er élément
correspondant.
● var height = $('div#intro').height();
● var src = $('img.photo').attr('src');
● var lastP = $('p:last').html()
● var hasFoo = $('p').hasClass('foo');
● var email = $('input#email').val();
Manipulation du DOM
● JQuery fournit plusieurs méthodes pour manipuler
le DOM( Document Object Model)
● Manipulation du contenu: selector.html( )
● Remplacement d'un élément DOM:
selector.replaceWith( content )
● Supprimer un élément : selector.remove( [ expr ]) |
selector.empty( )
● Insertion d'un élément : selector.after( content ) |
selector.before( content ).
Traverser le DOM
● $('div.section').parent()
● $('div.section').next()
● $('div.section').prev()
● $('div.section').nextAll('div')
● $('h1:first').parents()
Gestion des événements
● $('a:first').click(function(ev) {
$(this).css({backgroundColor: 'orange'});
return false; // Or ev.preventDefault();
});
● $('a:first').click();
Astuce cool ;)
● $(document).ready(function() {
alert('DOM est prêt!');
});
● $(function() {
alert('DOM est prêt!');
});
Chainage
● La plupart des méthodes JQuery retournent un
autre objet JQuery → Possibilté de chainer les
méthodes entre eux :
● $('div.section').hide().addClass('gone');
● $('#intro').css('color',
'#cccccc').find('a').addClass('highlighted').end().
find('em').css('color', 'red').end()
AJAX
● JQuery supporte très bien AJAX.
● $('div#intro').load('/some/file.html');
● $.get(url, params, callback)
● $.post(url, params, callback)
● $.getJSON(url, params, callback)
● $.getScript(url, callback)
Animations
● JQuery a quelques effets d'animations :
$('h1').hide('slow');
$('h1').slideDown('fast');
$('h1').fadeOut(2000);
● Un chainage : $('h1').fadeOut(1000).slideDown()
● Créer vos propres animation ;)
$("#block").animate({
width: "+=60px",
opacity: 0.4,
fontSize: "3em",
borderWidth: "10px"
}, 1500);
Plugins
● JQuery est extensible via des plugins ; permettant de lui ajouter
d'autres méthodes :
● Form : meilleure manipulation des forms.
● UI : Drag&Drop et les widgets.
● $('img[@src$=.png]').ifixpng()
● Une dizaine d'autres plugins .
● jQuery.fn.hideLinks = function() {
return this.find('a[href]').hide().end();
}
● $('p').hideLinks();
Aller plus loin
● http://jquery.com/
● http://docs.jquery.com/
● http://visualjquery.com/ - API reference
● http://simonwillison.net/tags/jquery/

Contenu connexe

PPT
Présentation jQuery pour débutant
PDF
Jquery - introduction au langage
PPT
PDF
Introduction a jQuery
PDF
jQuery
PDF
Jquery : les bases
PDF
jQuery - GTI780 & MTI780 - ETS - A08
Présentation jQuery pour débutant
Jquery - introduction au langage
Introduction a jQuery
jQuery
Jquery : les bases
jQuery - GTI780 & MTI780 - ETS - A08

Tendances (19)

PDF
jQuery GTI780 & MTI780 ETS A09
PDF
Jug summer camp 2017 - Vue.js, même un dev java peut en faire !
PDF
Cours javascript
PDF
Cours php & Mysql - 2éme partie
ODP
Slides Js
ZIP
Draft - Developper Sur Elgg
PPT
C5 Javascript
PDF
Cours php & Mysql - 4éme partie
PDF
Manualjquery
PPTX
Marzouk-HTTP-SESSION-JEE
PPTX
Html5 2
PPT
Php mysql cours
 
PDF
Atelier autour de UWA à ParisWeb 2007
PPTX
Symfony2 - Un Framework PHP 5 Performant
PPTX
Marzouk jsp
PDF
Les données transitoires (transients) vous veulent du bien
PPTX
10 astuces pour améliorer les performances de son application AngularJS - ng...
PDF
PHP #4 : sessions & cookies
PDF
Php 2 - Approfondissement MySQL, PDO et MVC
jQuery GTI780 & MTI780 ETS A09
Jug summer camp 2017 - Vue.js, même un dev java peut en faire !
Cours javascript
Cours php & Mysql - 2éme partie
Slides Js
Draft - Developper Sur Elgg
C5 Javascript
Cours php & Mysql - 4éme partie
Manualjquery
Marzouk-HTTP-SESSION-JEE
Html5 2
Php mysql cours
 
Atelier autour de UWA à ParisWeb 2007
Symfony2 - Un Framework PHP 5 Performant
Marzouk jsp
Les données transitoires (transients) vous veulent du bien
10 astuces pour améliorer les performances de son application AngularJS - ng...
PHP #4 : sessions & cookies
Php 2 - Approfondissement MySQL, PDO et MVC
Publicité

En vedette (19)

PPT
PPTX
Bootstrap 3
PPTX
Javascript 1.0
PPTX
Javascript 2.0
PPTX
Formation python micro club.net
PPTX
Sécurisation des Web Services SOAP contre les attaques par injection par la m...
PPTX
Owasp webgoat
PDF
workshop initiation ssh
PPTX
Sécurité des web services soap
PDF
Buffer Overflow exploitation
PPTX
jQuery
PDF
Notions de base de JavaScript
PDF
Formation JavaScript full-stack (JS, jQuery, Node.js...)
PDF
jQuery Essentials
PDF
Cours JavaScript
PDF
JavaScript
PPTX
Aperçu de java EE 5
PDF
Ccna support v2.5
PPTX
Javascript un langage supérieur
Bootstrap 3
Javascript 1.0
Javascript 2.0
Formation python micro club.net
Sécurisation des Web Services SOAP contre les attaques par injection par la m...
Owasp webgoat
workshop initiation ssh
Sécurité des web services soap
Buffer Overflow exploitation
jQuery
Notions de base de JavaScript
Formation JavaScript full-stack (JS, jQuery, Node.js...)
jQuery Essentials
Cours JavaScript
JavaScript
Aperçu de java EE 5
Ccna support v2.5
Javascript un langage supérieur
Publicité

Similaire à JQuery (20)

PPTX
Introduction à jQuery
PPTX
Introduction au Jquery
PPTX
1-Introduction JQuery.pptx
PDF
Formation Jquery
PPTX
AJAX JSON with jQuery
PDF
AJAX/RIA facile avec ZF et JQuery
PDF
Cours JavaScript
PDF
jQuery — fonctionnalités avancées
PDF
Jquery
PDF
Alphorm.com Formation jQuery
ODP
Tp-jquery
PDF
Cours j query-id1575
PDF
cours-gratuit-html et css pour le multimedia.pdf
PDF
Javascript et JQuery
PPTX
Accélérez le développement de vos interfaces web
PPT
Cours JavaScript 2.ppt
PPT
initiation au javascript
PPTX
Javascript proprement
PDF
Javascript #7 : manipuler le dom
PPTX
2014.12.11 - TECH CONF #3 - Présentation Bootstrap
Introduction à jQuery
Introduction au Jquery
1-Introduction JQuery.pptx
Formation Jquery
AJAX JSON with jQuery
AJAX/RIA facile avec ZF et JQuery
Cours JavaScript
jQuery — fonctionnalités avancées
Jquery
Alphorm.com Formation jQuery
Tp-jquery
Cours j query-id1575
cours-gratuit-html et css pour le multimedia.pdf
Javascript et JQuery
Accélérez le développement de vos interfaces web
Cours JavaScript 2.ppt
initiation au javascript
Javascript proprement
Javascript #7 : manipuler le dom
2014.12.11 - TECH CONF #3 - Présentation Bootstrap

Dernier (7)

PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
presentation_with_intro_compressee IEEE EPS France
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PDF
FORMATION EN Programmation En Langage C.pdf
PDF
Modems expliqués- votre passerelle vers Internet.pdf
Presentation_Securite_Reseaux_Bac+2.pptx
presentation_with_intro_compressee IEEE EPS France
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
Tendances tech 2025 - SFEIR & WENVISION.pdf
FORMATION EN Programmation En Langage C.pdf
Modems expliqués- votre passerelle vers Internet.pdf

JQuery

  • 1. UX-DAY JQuery Write less, Do more SMAHI Zakaria <z_smahi@esi.dz>
  • 2. C'est quoi JQuery ? ● Javascript framework ● Interaction entre JavaScript (AJAX inclus) et HTML. ● John Resig Janvier 2006. 120Ko (19ko compressé en format gzip). ● Populaire, Open Source ( MIT & Gnu GPL), bien documenté et extensible. ● Nombreux plugins. ● Mis à jour réguliérement. (version 1.9 et 2.0). ● Normalise les différences entre les navigateurs web. ● Sites: Google, Amazon, Mozilla.org, Facebook, Wordpress, Drupal...etc.
  • 3. Que Faire/Ne pas faire ? ● Faire : ● Gérer les interactions avec l'utilisateur. ● Prétraiter les formulaires. ● Créer des animations et effets. ● Manipuler le DOM. ● Utiliser AJAX simplement. ● Créer des RIA (rich Internet Applications). ● Ne pas Faire : ● Remplacer par un langage coté serveur ( php, asp, jsp). ● Remplacer totalement flash et HTML. ● Remplacer un rôle sécuritaire.
  • 4. Outils de développement ● Editeur de texte (Notepad++, Gedit, Notepad ...etc. ). ● Navigateur web (Mozilla Firefox, Google Chrome ). ● Extension de développement (Firebug sous firefox, Outils de développement sous Chrome ...etc. )
  • 5. $( ) ● Fonction de base de JQuery. ● Alias de la fonction JQuery. ● Permet d'associer le démarrage du script sur l'event ready du document + sélectionner les éléments de la page à manipuler par la suite.
  • 6. $(doument).ready() ● Démarre la fonction anonyme lorsque les éléments de la page sont prêts. ● <script type= « text/javascript » > $(document).ready(function(){ // ici du code ; }) ; </script>
  • 7. Sélécteurs ● Viser les éléments de la page à manipuler. ● La fonction $(). ● Syntaxe des sélécteurs CSS( 1, 2 et 3) et XPath. ● Renvoie un ou plusieurs objets JQuery. var objet = $(« sélécteur ») ; ● var objet = $(« #monId ») ; // Id ● var objet = $(« .maClasse ») ; // Classe ● var objet = $(« div ») ; // Tag
  • 8. Sélécteurs ● <div> <ul> <li> </li> </ul> </div> <p> paragraphe 1 </p> <p> paragraphe 2 </p> <p> paragraphe 3 </p> ● Hiérarchie : ancêtre et descendant $(« div ul ») ; $(« div ul li ») ; ● Hiérarchie : parent et enfant $(« div > ul ») ; ● Hiérarchie : précédent et suivant $(« div + p ») ; ● Hiérarchie : frère et frères $(« div ~ p ») ;
  • 9. Sélécteurs Magiques (Filtres) ● :first, :last, :even, :odd, :eq, :lt, :gt ● :nth-child(), :first-child(), :last- child(), :only-child() ● :hidden,:visible ● :header ● :parent ● :has(élément) ● :contains(« texte ») ● :empty, :not(négation) ● Sur attribut : $(« input [type=submit] ») ; $(« input [type !=submit] ») ; ● Expression réguliéres : ^= ( débute par …). $= ( finit par …). *= (contient la valeur …). ● [attr1][attr2] : contient les attributs... ● Formulaires : $(« #formulaire :checkbox ») ; $(« #formulaire :checkbox:checked») ;
  • 10. Collections JQuery ● $('div.section') retourne une collection JQuery. ● La collection peut être manipulée comme un tableau : $('div.section').length (ou .size) = n° des éléments. $('div.section')[0] : le 1er élément DOM sous div $('div.section')[2] $('div.section').each(function() { console.log(this); }); $('div.section').each(function(i) { console.log("Item " + i + " is ", this); });
  • 11. HTML futzing ● $('span#msg').text('The thing was updated!'); ● $('div#intro').html('<em>Look, HTML</em>');
  • 12. Attribute futzing $('a.nav').attr('href', 'http://flickr.com/'); ● $('a.nav').attr({ 'href': 'http://flickr.com/', 'id': 'flickr' }); ● $('#intro').removeAttr('id');
  • 13. CSS futzing ● $('#intro').addClass('highlighted'); ● $('#intro').removeClass('highlighted'); ● $('#intro').toggleClass('highlighted'); ● $('p').css('font-size', '20px'); ● $('p').css({'font-size': '20px', color: 'red'});
  • 14. Méthodes et Valeurs ● Certaines méthodes font retourner un(des) résultat(s) depuis le 1er élément correspondant. ● var height = $('div#intro').height(); ● var src = $('img.photo').attr('src'); ● var lastP = $('p:last').html() ● var hasFoo = $('p').hasClass('foo'); ● var email = $('input#email').val();
  • 15. Manipulation du DOM ● JQuery fournit plusieurs méthodes pour manipuler le DOM( Document Object Model) ● Manipulation du contenu: selector.html( ) ● Remplacement d'un élément DOM: selector.replaceWith( content ) ● Supprimer un élément : selector.remove( [ expr ]) | selector.empty( ) ● Insertion d'un élément : selector.after( content ) | selector.before( content ).
  • 16. Traverser le DOM ● $('div.section').parent() ● $('div.section').next() ● $('div.section').prev() ● $('div.section').nextAll('div') ● $('h1:first').parents()
  • 17. Gestion des événements ● $('a:first').click(function(ev) { $(this).css({backgroundColor: 'orange'}); return false; // Or ev.preventDefault(); }); ● $('a:first').click();
  • 18. Astuce cool ;) ● $(document).ready(function() { alert('DOM est prêt!'); }); ● $(function() { alert('DOM est prêt!'); });
  • 19. Chainage ● La plupart des méthodes JQuery retournent un autre objet JQuery → Possibilté de chainer les méthodes entre eux : ● $('div.section').hide().addClass('gone'); ● $('#intro').css('color', '#cccccc').find('a').addClass('highlighted').end(). find('em').css('color', 'red').end()
  • 20. AJAX ● JQuery supporte très bien AJAX. ● $('div#intro').load('/some/file.html'); ● $.get(url, params, callback) ● $.post(url, params, callback) ● $.getJSON(url, params, callback) ● $.getScript(url, callback)
  • 21. Animations ● JQuery a quelques effets d'animations : $('h1').hide('slow'); $('h1').slideDown('fast'); $('h1').fadeOut(2000); ● Un chainage : $('h1').fadeOut(1000).slideDown() ● Créer vos propres animation ;) $("#block").animate({ width: "+=60px", opacity: 0.4, fontSize: "3em", borderWidth: "10px" }, 1500);
  • 22. Plugins ● JQuery est extensible via des plugins ; permettant de lui ajouter d'autres méthodes : ● Form : meilleure manipulation des forms. ● UI : Drag&Drop et les widgets. ● $('img[@src$=.png]').ifixpng() ● Une dizaine d'autres plugins . ● jQuery.fn.hideLinks = function() { return this.find('a[href]').hide().end(); } ● $('p').hideLinks();
  • 23. Aller plus loin ● http://jquery.com/ ● http://docs.jquery.com/ ● http://visualjquery.com/ - API reference ● http://simonwillison.net/tags/jquery/