SlideShare uma empresa Scribd logo
1 de 19
Introduction 
à 
M. DIENG Abdoulaye
Sommaire 
1. Qu’est ce que jQuery ? 
a) Problématique 
b) Présentation 
c) Position concurrentielle 
2. Préalables 
a) Inclure la bibliothèque 
b) Syntaxe 
c) Disponibilité du DOM 
3. Sélectionner du contenu 
4. Manipuler des éléments 
5. Mettre en forme du 
contenu 
6. Gérer les évènements 
7. Utiliser des effets 
8. Effectuer des requêtes 
AJAX 
2
Qu’est ce que jQuery ? 
var d=Date.parse("Sun Jan 5 12:05:12 +0000 2014"); 
document.write(d); 
1388923512000 
1388923512000 NaN 
var d= new Date("01-05-2014"); 
document.write(d); 
Sun Jan 05 2014 00:00:00 GMT+0000 (Maroc) 
Invalid Date 
Sun Jan 5 00:00:00 UTC 2014 
problématique 
3
Qu’est ce que jQuery ? 
présentation 
• Pb : incompatibilité du Javascript entre les navigateurs 
• Sol : bibliothèque permettant une spécification unique, 
indépendante du navigateur 
• jQuery = bibliothèque javascript open-source et cross-browser 
• Créer en 2006 par John Resig 
• jQuery permet de : 
– manipuler la structure du contenu d’une page Web 
– changer la présentation du contenu 
– créer des animations 
– gérer des événements 
– Simplifier le dialogue client/serveur 
– simplifier des commandes de JavaScript 
4
Qu’est ce que jQuery ? 
Position concurrentielle 
5
Préalables 
inclure la bibliothèque 
• En local (dans le site) 
– Télécharger la bibliothèque (fichier .js) à partir de 
http://jquery.com/download/ 
– Inclure la biblio dans toute page : 
<script src="chemin/vers/jquery.js"></script> 
• En ligne via CDN (Content Delivery Networks) avec l’élément 
script et l’attribut src valant l’une des URL suivantes : 
– code.jquery.com/jquery-1.10.2.min.js 
– ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 
– ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js 
– cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js 
6
Préalables 
syntaxe 
• jQuery repose sur une seule fonction javascript nommée 
jQuery() et abrégée en $(). 
– Elle accepte des paramètres (élément DOM, sélecteur CSS 
ou fonction) 
– Elle retourne l’objet appelant 
– Elle est chaînable 
Ex : $('#element').hide().css('color', 'red').fadeIn('slow'); 
• Philosophie de jQuery 
$('Trouver du contenu').EnFaireQuelqueChose(); 
7
Préalables 
disponibilité du DOM 
• DOM (Document Object Model ) est la modélisation objet d'un 
document, fournissant une interface d'accès aux différents 
éléments d'un document HTML. 
• Avant toute action sur une page, il faut s’assurer que son 
contenu est prêt à être manipulé. 
• Pour ce faire, passer le code de l’action à $(document).ready() 
comme suit : 
$(document).ready(function() { 
// le code ici 
}); 
• Ou plus simplement : 
$(function(){ 
// le code ici 
}); 
8 
tp1
Sélectionner du contenu 
présentation 
• Tout contenu est sélectionné avant d’être manipulé 
• Un sélecteur permet de trouver du contenu en fonction 
d’identifiants, de classes, de types, d’attributs ou d’autres 
sélecteurs propres au CSS ou au jQuery. 
• Tout sélecteur doit être passé, entre quotes, à la fonction $(). 
9
Sélectionner du contenu 
quelques sélecteurs CSS classiques 
Expression Retour 
elem Les balises elem. 
elem bal Balises bal contenues dans une balise elem. 
elem > bal Balises bal directement descendantes d’une balise elem. 
elem + bal Balises bal immédiatement précédées d'une balise elem. 
elem ~ bal Balises bal précédées d'une balise elem. 
#nomId Balise ayant l'id "nomId". 
.nomClasse Balises ayant la classe "nomClasse". 
elem[attr] Balises elem dont l'attribut "attr" est spécifié. 
elem[attr="val"] Balises elem dont l'attribut "attr" vaut val. 
elem[attr^="val"] Balises elem dont l'attribut "attr" commence par val. 
elem[attr$="val"] Balises elem dont l'attribut "attr" se termine par val. 
elem[attr*="val"] Balises elem dont l'attribut "attr" contient val. 10
Sélectionner du contenu 
sélecteurs pour formulaires 
Expression Retour 
:input Tout les éléments input, textarea, select et button 
:button Éléments button. 
:checkbox ou :radio Éléments de type checkbox ou de type radio 
:checked ou :selected Éléments qui sont cochés ou sélectionnés 
:radio Éléments de type radio 
:image Tous les boutons de type image 
:submit ou :reset Éléments de type submit ou de type reset 
:text ou :password Éléments de type text ou de type password 
:enabled Éléments activés 
:focus Élément qui a le focus 
11
Sélectionner du contenu 
filtres 
Expression Retour 
elt:hidden ou elt:visible Éléments cachés ou Éléments visibles 
elt:parent Éléments qui ont des éléments enfants. 
elt:header Balises de titres : h1, h2, h3, h4, h5 et h6. 
elt:not(s) Éléments qui ne sont pas sélectionnés par le sélecteur s. 
elt:has(s) Élts qui contiennent des éléments sélectionnés par le sélecteur s. 
elt:contains(t) Éléments qui contiennent du texte t. 
elt:empty Éléments dont le contenu est vide. 
elt:eq(n) ou elt:nth(n) Le n-ième élément, en partant de zéro. 
elt:gt(n) Éléments dont l'index est plus grand que n. 
elt:lt(n) Éléments dont l'index est plus petit que n. 
elt:first ou elt:last Le premier élément (équivaut à :eq(0)) ou le dernier élément 
elt:even ou elt:odd Éléments dont l'index est pair ou éléments dont l'index est imp1a2 ir 
tp2
Manipuler du contenu 
quelques méthodes 
• html() renvoie le code HTML du contenu du 1er élément trouvé 
• html(str) modifie le contenu de tout élément trouvé 
• text() renvoie la valeur textuelle du contenu du 1er élément trouvé 
• text(str) modifie le contenu de tout élément trouvé 
• val() récupère la valeur (chaîne ou tableau de chaînes) d’un champ de 
formulaire 
• val(str |[str1,str2, …] ) définit la ou les valeur(s) des éléments d'un 
formulaire 
• prepend(str) et append(str) permettent d'ajouter un élément ou du 
texte à l'intérieur de la balise. 
• before(str) et after(str) permettent d'ajouter un élément ou du texte à 
l'extérieur de la balise. 
• attr('nomAttr') récupère la valeur d’un attribut nomAttr du 1er élément 
13 
• attr(‘nomAttr’,valeur) modifie la valeur d’un attribut de tout élement 
tp3
Mettre en forme du contenu 
quelques méthodes 
• css('propriété') récupère la valeur d'une propriété CSS 
Ex : $('h1').css('fontSize'); // retourne par exemple "19px" 
• css('propriété',valeur) définit une propriété CSS 
• css({prop1: val1, prop2: val2, …}) définit +sieurs propriétés CSS 
Ex : $('h1').css({ 'fontSize' : '100px', 'color' : 'red' }); 
• addClass(str) / removeClass(str) ajoute / enlève une ou +sieurs 
classes. Plusieurs classes sont séparées par des espaces. 
Ex : $("p").removeClass("maClasse 
taClasse").addClass("saClasse"); 
• width() et height() récupèrent les dimensions du 1er élément 
• width(val) et height(val) définissent les dimensions de tout 
élément 
14
Gérer des événements 
• Syntaxe 
– nomEvent(fn) attache une fonction à l’événement nomEvent 
– nomEvent() déclenche l’événement nomEvent dans le code 
• Quelques événements : 
focus : avoir le focus; blur : perte du focus; 
change : modif du contenu; load : chargement d’un élément; 
click : clic de souris; submit : soumission d’un formulaire; 
• Quelques méthodes : 
– bind("nomEvent1 nomEvent2 …", fn) : lie un gestionnaire à 
un ou +sieurs événements pour chaque élément identifié. 
– hover(fn_over, fn_out ) : appelle successivement 2 fonctions 
quand la souris survole puis quitte un élément 
– toggle( fn1, fn2, ... ) : appelle successivement +sieurs 
fonctions à chaque fois que l'élément est cliqué 
15 
Tp4&5
Utiliser des effets 
quelques méthodes de base 
• show() / hide() affiche / cache les éléments en question. 
• toggle() affiche l’élément s’il est caché, sinon le cache 
• slideDown() déroule verticalement les éléments en question. 
• slideUp() enroule verticalement les éléments en question. 
• slideToggle() déroule l’élément s’il est enroulé, sinon l’enroule 
• fadeIn() / fadeOut() fait apparaître / disparaître les éléments en 
question en modifiant l'opacité de manière progressive. 
• Ces méthodes peuvent prendre comme paramètres : 
– une durée - entier (en ms) ou chaîne (normal, fast ou slow)- 
– une fonction de rappel exécutée à la fin de l'animation. 
16
Utiliser des effets 
animation personnalisée 
• animate(style [,durée] [,modèle] [,fonction]) 
– style (objet contenant des couples propriété/valeur CSS) : 
style de l’élément à la fin de l’animation 
– durée (entier (en ms) ou chaîne (normal, fast ou slow)) : 
durée de l'animation 
– modèle (chaîne (swing ou linear)) : modèle de progression 
de l'animation. 
– fonction : fonction de rappel à exécutée lorsque l'animation 
sera terminée. 
17 
Tp6&7
Effectuer des requêtes AJAX 
présentation 
• AJAX (Asynchronous JavaScript and XML) : technologie qui 
permet l’échange de données avec un serveur, et la mise à jour 
des parties d'une page Web sans la recharger entièrement. 
• $.ajax([options] ) : envoie une requête et retourne l'objet 
jqXHR 
• Principales options sous la forme {clef1:val1, clef2:val2, …} 
– type:"GET|POST", type de requête 
– url:"URL_cible", URL du script qui traitera la requête 
– data:{key1:value1, key2:value2, …}, données à envoyer 
• Principales méthodes de l'objet jqXHR 
– .done(function(response, textStatus, jqXHR){}), invoquée en 
cas de succès 
– .fail(function(jqXHR, textStatus, errorThrown){}) invoquée 
18
Effectuer des requêtes AJAX 
autres outils 
• $.get( url [, data ] [, success(rslt,statut,xhr) ] [, dataType ] ) 
raccourci de $.ajax() avec un type GET 
• $.post( url [, data ] [, success(rslt,statut,xhr) ] [, dataType ] ) 
raccourci de $.ajax() avec un type POST 
• $('selecteur').load( url [, data ] [, complete(rslt, statut, xhr) ]) 
– Charge des données à partir de url et place le code HTML 
renvoyé dans l'élément identifié par selecteur. 
– "url selecteur" permet d’affiner le contenu à charger 
– complete() : fonction de rappel à exécutée lorsque les 
donnée sont chargées 
19 
Tp8&9

Mais conteúdo relacionado

Mais procurados

Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partiekadzaki
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScriptKristen Le Liboux
 
Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4halleck45
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POOmazenovi
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLDamien Seguy
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentationjulien pauli
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 

Mais procurados (15)

Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Introduction à ajax
Introduction à ajaxIntroduction à ajax
Introduction à ajax
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScript
 
Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POO
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partie
 
Cours php
Cours phpCours php
Cours php
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentation
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 

Destaque (20)

Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
 
introduction à MongoDB
introduction à MongoDBintroduction à MongoDB
introduction à MongoDB
 
Organización de los recursos materiales
Organización de los recursos materialesOrganización de los recursos materiales
Organización de los recursos materiales
 
Analyse buzz twitter
Analyse buzz twitterAnalyse buzz twitter
Analyse buzz twitter
 
Evolució del deute de la Generalitat de 30/6 a 30/9
Evolució del deute de la Generalitat de 30/6 a 30/9Evolució del deute de la Generalitat de 30/6 a 30/9
Evolució del deute de la Generalitat de 30/6 a 30/9
 
Joyeux noel
Joyeux noelJoyeux noel
Joyeux noel
 
Fantasmín para el profesorado
Fantasmín para el profesoradoFantasmín para el profesorado
Fantasmín para el profesorado
 
Registrierungsformular2011fr
Registrierungsformular2011frRegistrierungsformular2011fr
Registrierungsformular2011fr
 
Proyecto
ProyectoProyecto
Proyecto
 
Aprendizajes
AprendizajesAprendizajes
Aprendizajes
 
DreamWeaver
DreamWeaverDreamWeaver
DreamWeaver
 
Museologie espagnol bd
Museologie espagnol bdMuseologie espagnol bd
Museologie espagnol bd
 
10/05/2011 : briefing gpdp
10/05/2011 : briefing gpdp10/05/2011 : briefing gpdp
10/05/2011 : briefing gpdp
 
(Ag)auto ecole
(Ag)auto ecole(Ag)auto ecole
(Ag)auto ecole
 
Dani2
Dani2Dani2
Dani2
 
Ledo rumai
Ledo rumaiLedo rumai
Ledo rumai
 
La Vie 3s
La Vie 3sLa Vie 3s
La Vie 3s
 
Bitmap & vectorial
Bitmap & vectorialBitmap & vectorial
Bitmap & vectorial
 
Regalitos
RegalitosRegalitos
Regalitos
 
Nuevas características de moodle 2
Nuevas características de moodle 2Nuevas características de moodle 2
Nuevas características de moodle 2
 

Semelhante a Introduction au Jquery

Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langageStrasWeb
 
Cours JavaScript 2.ppt
Cours JavaScript 2.pptCours JavaScript 2.ppt
Cours JavaScript 2.pptPROFPROF11
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript FrenchVlad Posea
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsDenis Voituron
 
initiation au javascript
initiation au javascriptinitiation au javascript
initiation au javascriptAbdoulaye Dieng
 
react-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basicreact-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basiczineblahib2
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptxYaminaGh1
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptxSafaeLhr1
 
FORMATION javascript.pdf
FORMATION javascript.pdfFORMATION javascript.pdf
FORMATION javascript.pdfOualidBelbrik
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 

Semelhante a Introduction au Jquery (20)

Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langage
 
Jquery : les bases
Jquery : les basesJquery : les bases
Jquery : les bases
 
JQuery
JQueryJQuery
JQuery
 
Cours JavaScript 2.ppt
Cours JavaScript 2.pptCours JavaScript 2.ppt
Cours JavaScript 2.ppt
 
HTML5
HTML5HTML5
HTML5
 
C5 Javascript
C5 JavascriptC5 Javascript
C5 Javascript
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript French
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénients
 
Manualjquery
ManualjqueryManualjquery
Manualjquery
 
initiation au javascript
initiation au javascriptinitiation au javascript
initiation au javascript
 
react-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basicreact-slides.ppx (2) (1).pptx react presentation basic
react-slides.ppx (2) (1).pptx react presentation basic
 
Python avancé : Tuple et objet
Python avancé : Tuple et objetPython avancé : Tuple et objet
Python avancé : Tuple et objet
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptx
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
JQuery
JQueryJQuery
JQuery
 
AJAX JSON with jQuery
AJAX JSON with jQueryAJAX JSON with jQuery
AJAX JSON with jQuery
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptx
 
FORMATION javascript.pdf
FORMATION javascript.pdfFORMATION javascript.pdf
FORMATION javascript.pdf
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 

Mais de Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Cours référencement naturel supdeco techonologie avril-15
Cours référencement naturel supdeco techonologie avril-15Cours référencement naturel supdeco techonologie avril-15
Cours référencement naturel supdeco techonologie avril-15Abdoulaye Dieng
 
Cours CSS feuilles de style en cascade- mars 2015
Cours CSS feuilles de style en cascade- mars 2015Cours CSS feuilles de style en cascade- mars 2015
Cours CSS feuilles de style en cascade- mars 2015Abdoulaye Dieng
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesAbdoulaye Dieng
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurAbdoulaye Dieng
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresAbdoulaye Dieng
 

Mais de Abdoulaye Dieng (20)

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Cours référencement naturel supdeco techonologie avril-15
Cours référencement naturel supdeco techonologie avril-15Cours référencement naturel supdeco techonologie avril-15
Cours référencement naturel supdeco techonologie avril-15
 
Cours CSS feuilles de style en cascade- mars 2015
Cours CSS feuilles de style en cascade- mars 2015Cours CSS feuilles de style en cascade- mars 2015
Cours CSS feuilles de style en cascade- mars 2015
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donnees
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoires
 

Introduction au Jquery

  • 1. Introduction à M. DIENG Abdoulaye
  • 2. Sommaire 1. Qu’est ce que jQuery ? a) Problématique b) Présentation c) Position concurrentielle 2. Préalables a) Inclure la bibliothèque b) Syntaxe c) Disponibilité du DOM 3. Sélectionner du contenu 4. Manipuler des éléments 5. Mettre en forme du contenu 6. Gérer les évènements 7. Utiliser des effets 8. Effectuer des requêtes AJAX 2
  • 3. Qu’est ce que jQuery ? var d=Date.parse("Sun Jan 5 12:05:12 +0000 2014"); document.write(d); 1388923512000 1388923512000 NaN var d= new Date("01-05-2014"); document.write(d); Sun Jan 05 2014 00:00:00 GMT+0000 (Maroc) Invalid Date Sun Jan 5 00:00:00 UTC 2014 problématique 3
  • 4. Qu’est ce que jQuery ? présentation • Pb : incompatibilité du Javascript entre les navigateurs • Sol : bibliothèque permettant une spécification unique, indépendante du navigateur • jQuery = bibliothèque javascript open-source et cross-browser • Créer en 2006 par John Resig • jQuery permet de : – manipuler la structure du contenu d’une page Web – changer la présentation du contenu – créer des animations – gérer des événements – Simplifier le dialogue client/serveur – simplifier des commandes de JavaScript 4
  • 5. Qu’est ce que jQuery ? Position concurrentielle 5
  • 6. Préalables inclure la bibliothèque • En local (dans le site) – Télécharger la bibliothèque (fichier .js) à partir de http://jquery.com/download/ – Inclure la biblio dans toute page : <script src="chemin/vers/jquery.js"></script> • En ligne via CDN (Content Delivery Networks) avec l’élément script et l’attribut src valant l’une des URL suivantes : – code.jquery.com/jquery-1.10.2.min.js – ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js – ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js – cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js 6
  • 7. Préalables syntaxe • jQuery repose sur une seule fonction javascript nommée jQuery() et abrégée en $(). – Elle accepte des paramètres (élément DOM, sélecteur CSS ou fonction) – Elle retourne l’objet appelant – Elle est chaînable Ex : $('#element').hide().css('color', 'red').fadeIn('slow'); • Philosophie de jQuery $('Trouver du contenu').EnFaireQuelqueChose(); 7
  • 8. Préalables disponibilité du DOM • DOM (Document Object Model ) est la modélisation objet d'un document, fournissant une interface d'accès aux différents éléments d'un document HTML. • Avant toute action sur une page, il faut s’assurer que son contenu est prêt à être manipulé. • Pour ce faire, passer le code de l’action à $(document).ready() comme suit : $(document).ready(function() { // le code ici }); • Ou plus simplement : $(function(){ // le code ici }); 8 tp1
  • 9. Sélectionner du contenu présentation • Tout contenu est sélectionné avant d’être manipulé • Un sélecteur permet de trouver du contenu en fonction d’identifiants, de classes, de types, d’attributs ou d’autres sélecteurs propres au CSS ou au jQuery. • Tout sélecteur doit être passé, entre quotes, à la fonction $(). 9
  • 10. Sélectionner du contenu quelques sélecteurs CSS classiques Expression Retour elem Les balises elem. elem bal Balises bal contenues dans une balise elem. elem > bal Balises bal directement descendantes d’une balise elem. elem + bal Balises bal immédiatement précédées d'une balise elem. elem ~ bal Balises bal précédées d'une balise elem. #nomId Balise ayant l'id "nomId". .nomClasse Balises ayant la classe "nomClasse". elem[attr] Balises elem dont l'attribut "attr" est spécifié. elem[attr="val"] Balises elem dont l'attribut "attr" vaut val. elem[attr^="val"] Balises elem dont l'attribut "attr" commence par val. elem[attr$="val"] Balises elem dont l'attribut "attr" se termine par val. elem[attr*="val"] Balises elem dont l'attribut "attr" contient val. 10
  • 11. Sélectionner du contenu sélecteurs pour formulaires Expression Retour :input Tout les éléments input, textarea, select et button :button Éléments button. :checkbox ou :radio Éléments de type checkbox ou de type radio :checked ou :selected Éléments qui sont cochés ou sélectionnés :radio Éléments de type radio :image Tous les boutons de type image :submit ou :reset Éléments de type submit ou de type reset :text ou :password Éléments de type text ou de type password :enabled Éléments activés :focus Élément qui a le focus 11
  • 12. Sélectionner du contenu filtres Expression Retour elt:hidden ou elt:visible Éléments cachés ou Éléments visibles elt:parent Éléments qui ont des éléments enfants. elt:header Balises de titres : h1, h2, h3, h4, h5 et h6. elt:not(s) Éléments qui ne sont pas sélectionnés par le sélecteur s. elt:has(s) Élts qui contiennent des éléments sélectionnés par le sélecteur s. elt:contains(t) Éléments qui contiennent du texte t. elt:empty Éléments dont le contenu est vide. elt:eq(n) ou elt:nth(n) Le n-ième élément, en partant de zéro. elt:gt(n) Éléments dont l'index est plus grand que n. elt:lt(n) Éléments dont l'index est plus petit que n. elt:first ou elt:last Le premier élément (équivaut à :eq(0)) ou le dernier élément elt:even ou elt:odd Éléments dont l'index est pair ou éléments dont l'index est imp1a2 ir tp2
  • 13. Manipuler du contenu quelques méthodes • html() renvoie le code HTML du contenu du 1er élément trouvé • html(str) modifie le contenu de tout élément trouvé • text() renvoie la valeur textuelle du contenu du 1er élément trouvé • text(str) modifie le contenu de tout élément trouvé • val() récupère la valeur (chaîne ou tableau de chaînes) d’un champ de formulaire • val(str |[str1,str2, …] ) définit la ou les valeur(s) des éléments d'un formulaire • prepend(str) et append(str) permettent d'ajouter un élément ou du texte à l'intérieur de la balise. • before(str) et after(str) permettent d'ajouter un élément ou du texte à l'extérieur de la balise. • attr('nomAttr') récupère la valeur d’un attribut nomAttr du 1er élément 13 • attr(‘nomAttr’,valeur) modifie la valeur d’un attribut de tout élement tp3
  • 14. Mettre en forme du contenu quelques méthodes • css('propriété') récupère la valeur d'une propriété CSS Ex : $('h1').css('fontSize'); // retourne par exemple "19px" • css('propriété',valeur) définit une propriété CSS • css({prop1: val1, prop2: val2, …}) définit +sieurs propriétés CSS Ex : $('h1').css({ 'fontSize' : '100px', 'color' : 'red' }); • addClass(str) / removeClass(str) ajoute / enlève une ou +sieurs classes. Plusieurs classes sont séparées par des espaces. Ex : $("p").removeClass("maClasse taClasse").addClass("saClasse"); • width() et height() récupèrent les dimensions du 1er élément • width(val) et height(val) définissent les dimensions de tout élément 14
  • 15. Gérer des événements • Syntaxe – nomEvent(fn) attache une fonction à l’événement nomEvent – nomEvent() déclenche l’événement nomEvent dans le code • Quelques événements : focus : avoir le focus; blur : perte du focus; change : modif du contenu; load : chargement d’un élément; click : clic de souris; submit : soumission d’un formulaire; • Quelques méthodes : – bind("nomEvent1 nomEvent2 …", fn) : lie un gestionnaire à un ou +sieurs événements pour chaque élément identifié. – hover(fn_over, fn_out ) : appelle successivement 2 fonctions quand la souris survole puis quitte un élément – toggle( fn1, fn2, ... ) : appelle successivement +sieurs fonctions à chaque fois que l'élément est cliqué 15 Tp4&5
  • 16. Utiliser des effets quelques méthodes de base • show() / hide() affiche / cache les éléments en question. • toggle() affiche l’élément s’il est caché, sinon le cache • slideDown() déroule verticalement les éléments en question. • slideUp() enroule verticalement les éléments en question. • slideToggle() déroule l’élément s’il est enroulé, sinon l’enroule • fadeIn() / fadeOut() fait apparaître / disparaître les éléments en question en modifiant l'opacité de manière progressive. • Ces méthodes peuvent prendre comme paramètres : – une durée - entier (en ms) ou chaîne (normal, fast ou slow)- – une fonction de rappel exécutée à la fin de l'animation. 16
  • 17. Utiliser des effets animation personnalisée • animate(style [,durée] [,modèle] [,fonction]) – style (objet contenant des couples propriété/valeur CSS) : style de l’élément à la fin de l’animation – durée (entier (en ms) ou chaîne (normal, fast ou slow)) : durée de l'animation – modèle (chaîne (swing ou linear)) : modèle de progression de l'animation. – fonction : fonction de rappel à exécutée lorsque l'animation sera terminée. 17 Tp6&7
  • 18. Effectuer des requêtes AJAX présentation • AJAX (Asynchronous JavaScript and XML) : technologie qui permet l’échange de données avec un serveur, et la mise à jour des parties d'une page Web sans la recharger entièrement. • $.ajax([options] ) : envoie une requête et retourne l'objet jqXHR • Principales options sous la forme {clef1:val1, clef2:val2, …} – type:"GET|POST", type de requête – url:"URL_cible", URL du script qui traitera la requête – data:{key1:value1, key2:value2, …}, données à envoyer • Principales méthodes de l'objet jqXHR – .done(function(response, textStatus, jqXHR){}), invoquée en cas de succès – .fail(function(jqXHR, textStatus, errorThrown){}) invoquée 18
  • 19. Effectuer des requêtes AJAX autres outils • $.get( url [, data ] [, success(rslt,statut,xhr) ] [, dataType ] ) raccourci de $.ajax() avec un type GET • $.post( url [, data ] [, success(rslt,statut,xhr) ] [, dataType ] ) raccourci de $.ajax() avec un type POST • $('selecteur').load( url [, data ] [, complete(rslt, statut, xhr) ]) – Charge des données à partir de url et place le code HTML renvoyé dans l'élément identifié par selecteur. – "url selecteur" permet d’affiner le contenu à charger – complete() : fonction de rappel à exécutée lorsque les donnée sont chargées 19 Tp8&9