JQuery

Transcription

JQuery
JQuery
1/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
2/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
3/36
Définition




●
●
●
Bibliothèque javascript open-source et cross-navigateur
dont la première version est sortie en janvier 2006.
Le principal auteur de cette bibliothèque est John Resig
( développeur d’outils JavaScript pour Mozilla
Corporation).
Elle permet de parcourir et manipuler très facilement
l'arbre DOM des pages web.
JQuery permet de :
Changer/ajouter une classe CSS, créer des animations, modifier des attributs, etc.
Gérer les événements javascript
Faire des requêtes AJAX simplement
4/36
Définition
 JQuery
●
●
n'est pas :
Un substitut pour apprendre JavaScript
Une réponse à tout
– Utilisez
jquery
uniquement lorsque c’est nécessaire.
● On commence toujours par HTML+CSS avant
de chercher des plug-ins jQuery magiques.
●
5/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
6/36
Mise en oeuvre
Téléchargeable sur le site de Jquery : http://jquery.com/
<script type="text/javascript" src="jquery.js"></script>

Ou directement sur Google code
<script
type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.
min.js">
</script>

7/36
Mise en oeuvre




jQuery repose sur une seule fonction :
jQuery() ou $()
C’est une fonction JavaScript
Elle accepte des paramètres
Elle retourne un objet
8/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
9/36
Sélecteur
 $()
●
●
Un sélecteur CSS en argument
Des ID :
–
●
$('#nomID') retourne l'élément ayant pour id
"nomID"(équivalent du javascript
document.getElementById('nomID') )
Des classes :
–
●
(ou jQuery() ) accepte :
$('.maClasse') retourne tous les éléments qui
correspondent à cette classe
Plusieurs sélecteurs
–
$('.nom, .prenom, .email')
10/36
Sélecteur

●

●
●

●
Des sélecteurs spécifiques :
$(':radio'), $(':header'), $(':first-child')
Des sélecteurs de filtrages :
$(':checked'), $(':odd'), $(':visible')
$(':contains(du texte)')
Des attributs
$('a[href]'), $('a[href^=http://'), $('img[src$=.png]'
11/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
12/36
DOM

“Le Document Object Model (DOM) est une convention
cross-platform et indépendante du langage pour représenter et interagir avec les objets dans des documents en
HTML, XHTML ou XML.
13/36
DOM
<html>
<head>
<title>My title</title>
</head>
<body>
<a href>My link</a>
<h1>My header</h1>
</body>
</html>
14/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
15/36
Méthodes

Evénements
●
●
●
●
●
●

Click
Change
Keypress
Select
Submit
...
$("selecteur").evenementAGerer(function()
{
//traitement
});
Manipulations
16/36
Méthodes


●
●
●
●
●
●
●
●
Evénements
Manipulations
css
attr $("selecteur").fonctionDeManipulation(valeurEventuelle);
empty
prop
position
val
text
...
17/36

●
●

●
●
●

●
Les méthodes peuvent s'appliquent à tous les éléments sélectionnés
$('.classe').hide();
$('.classe').show();
De nombreuses méthodes utilitaires
Parcourir le DOM: .parent(), .next(), .children(),
.parents()
Ajouter ou retirer des classes CSS: addClass, removeClass
Manipuler: append, wrap, prepend
La plupart des méthodes de l'objet retournent l'objet lui-même
Il est possible de chaîner les appels
–
$('rien').parent().find('toujours rien').show();
18/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
19/36
Cacher le texte d'une DIV
<html>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript">
$(function()
{
$("#uneDiv").click(function()
{
$("#uneDiv").hide();
});
});
</script>
<body>
<div id="uneDiv">Le texte a cacher</div>
</body>
</html>
20/36
Modifier la valeur d'un champ en fonction d'un autre
<html>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript">
$(function()
{
$("#champ1").focusout(function()
{
var valeurChamp1 = $("#champ1").val();
// la valeur de champ1 va dans champ2
$("#champ2").val(valeurChamp1);
});
});
</script>
<body>
<form>
<input type="text" name="champ1" id="champ1">
<input type="text" name="champ2" id="champ2">
</form>
</body>
</html>
21/36
Récupérer la valeur et le texte sélectionné d'une liste déroulante
...
<script type="text/javascript">
$(function()
{
$("#selectVille").change(function()
{
// valeur de l'option selectionne
var valeurVilleSelect = $(this).val();
// texte de l'option selectionne
var texteVilleSelect = $("#selectVille option:selected").text();
// afficher une message box avec la valeur et le texte de l'option
alert(valeurVilleSelect+" "+texteVilleSelect);
});
});
</script>
<body>
<form>
<SELECT name="ville" id="selectVille">
<OPTION value="paris">Paris</OPTION>
<OPTION value="leMans">Le Mans</OPTION>
<OPTION value="souligne">Soulign&#233; sous ballon</OPTION>
</SELECT>
</form>
...
22/36
Récupérer le nom et l'état d'une checkbox sur laquelle on clique
...
<script type="text/javascript">
$(function()
{
$('input[type=checkbox]').click(function()
{
var caseCheckEtat = $(this).prop("checked"); // etat de la check box
var caseCheckNom = $(this).prop("name"); // nom de la checkbox
alert(caseCheckNom+" est "+caseCheckEtat);
});
});
</script>
<body>
<form>
<INPUT type="checkbox" name="pomme">pomme<br>
<INPUT type="checkbox" name="poire">poire<br>
<INPUT type="checkbox" name="peche">peche<br>
<INPUT type="checkbox" name="raisin">raisin<br>
</form>
...
23/36
Vider une liste déroulante
...
<script type="text/javascript">
$(function()
{
$('#videListe').click(function()
{
$('#selectVille').empty();
});
});
</script>
<body>
<form>
<SELECT name="ville" id="selectVille">
<OPTION value="paris">Paris</OPTION>
<OPTION value="leMans">Le Mans</OPTION>
<OPTION value="souligne">Soulign&#233; sous ballon</OPTION>
</SELECT>
<input type="button" id="videListe" value="vider la liste">
</form>
...
24/36
Ajouter des options à une liste déroulante
...
<script type="text/javascript">
$(function()
{
$('#ajoutListe').click(function()
{
// ajouter a la fin
$('#selectVille').append($("<option>",{value : "bal"}).text("Ballon"));
// ajouter au debut
$('#selectVille').prepend($("<option>",{value : "yvr"}).text("Yvre"));
});
});
</script>
<body>
<form>
<SELECT name="ville" id="selectVille">
<OPTION value="paris">Paris</OPTION>
<OPTION value="leMans">Le Mans</OPTION>
<OPTION value="souligne">Soulign&#233; sous ballon</OPTION>
</SELECT>
<input type="button" id="ajoutListe" value="ajouter option a la liste">
</form>
...
25/36
Avoir la valeur et l'état du bouton radio sur lequel on vient de cliquer
...
<script type="text/javascript">
$(function()
{
$('input[name=sexe]:radio').click(function()
{
var valeurSexe = $(this).val(); // valeur du radio bouton
var etatSexe = $(this).prop("checked"); // etat du radio bouton
alert(valeurSexe+" est "+etatSexe);
});
});
</script>
<body>
<form>
<INPUT type="radio" name="sexe" value="f">F&#233;minin<br>
<INPUT type="radio" name="sexe" value="m">Masculin<br>
</form>
...
26/36
Faire disparaître tous les éléments d'un formulaire
...
<script type="text/javascript">
$(function()
{
$("#cache").click(function()
{
$(":input").fadeOut('slow');
});
$("#decache").click(function()
{
$(":input").fadeIn('slow');
});
});
</script>
<body>
<form>
<INPUT type="checkbox" name="pomme">pomme<br>
<INPUT type="checkbox" name="poire">poire<br>
<INPUT type="checkbox" name="peche">peche<br>
<INPUT type="checkbox" name="raisin">raisin<br>
<INPUT type="button" id="cache" value="faire disparaitre le formulaire">
<DIV id="decache">cliquez ici pour avoir le formulaire</DIV>
</form>
...
27/36
Toutes les fonctionnalités de JQuery

http://api.jquery.com/
28/36
JQuery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
29/36
JQueryUI


http://jqueryui.com/
Des éléments interactifs
– draggable : pour glisser-déplacer un élément
– droppable : pour « déposer » un élément
– resizable : pour redimensionner un élément
– sélectable : pour sélectionner des éléments à la souris
– sortable : pour trier des éléments
30/36
JQueryUI

●
●
●
●
●
●
●
●
Des Widgets
accordéon
autocomplétion
bouton
calendrier
boîte de dialogue
barre de progression
curseur
onglets
31/36
JQueryUI

●
●

Des utilitaires
position
widget
Effets
32/36
Le Widget DatePicker
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript" src="jquery-ui-1.8.18.customLightness/js/jquery-ui-1.8.18.custom.min.js"></script>
<script type="text/javascript" src="http://jquery-ui.googlecode.com/svn/trunk/ui/i18n/jquery.ui.datepickerfr.js"></script>
<link rel="stylesheet" type="text/css" href="jquery-ui-1.8.18.customLightness/css/ui-lightness/jquery-ui1.8.18.custom.css">
<script>
$(function() {
$( "#datepickerLightness" ).datepicker();
});
</script>
<body>
<form>
<div>
<p>Date lightness: <input id="datepickerLightness" type="text"></p>
</div>
</form>
</body>
</html>
33/36
JQueryUI



●
●
●
On peut étendre facilement jQuery en utilisant des plugins
Des centaines plug-ins existent, mais sont de qualité variable.
http://plugins.jquery.com/
Menus
Galerie photo
...
34/36
Jquery








Définition
Mise en oeuvre
Sélecteur
DOM
Méthodes
Exemples
JQueryUI
Conclusion
35/36
Conclusion




jQuery est un framework complet et facile à utiliser
Bibliothèque légère à charger
Simplifie la syntaxe d’accès au DOM
UI et nombreux plug-ins complémentaires
36/36