Débuter avec jQuery

Débuter avec jQuery

Avant de débuter avec jQuery, il faut installer le fichier jquery.js sur son ordinateur. Une fois l'installation terminée, nous pourrons commencer à découvrir petit à petit les formidables possibilités de ce framework JavaScript.

Ma première page HTML - jQuery

Pour bien commencer et suivre notre guide au fur et à mesure vous pouvez créer votre propre page de test comme suit :

<!DOCTYPE html>
<html>                                                            
 <head>
 <title>Ma première page HTML - jQuery</title>                                        
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript">                               
   // notre code javascript sera ajouté ici
  // Attention le code javascript doit toujours être ajouté entre des balises script                          
 </script>                                                      
 </head>                                                           
 <body>                                                                  
   <!-- notre code HTML sera ajouté ici -->                               
 </body>                                                                 
 </html>

La page HTML est-elle prête ?

Avant d'exécuter du JavaScript, il faut s'assurer que les éléments de la page ont terminé d'être chargés (on parle de Document Ready). En effet le JavaScript permet de manipuler les éléments HTML mais si vous essayez de manipuler un élément qui n'est pas encore chargé votre code risque de tomber en erreur en vous indiquant qu'il n'a pas trouvé l'élément. Heureusement jQuery vous fournit une fonction ready() qui permet de savoir le plus tôt possible quand la page est prête pour le JavaScript. Insérons le code correspondant dans la zone JavaScript de notre page HTML:

$(document).ready(function(){
   // vous pouvez exécuter du code JavaScript ici car la page HTML est prête...
 });                  

Pour l'instant notre page ne fait pas grand chose, nous allons donc ajouter un peu d'animation à tout ça. Pour cela nous utiliserons la fonction JavaScript alert() qui permet d'afficher un message à l'aide d'une popup. Remplaçons la ligne de commentaire précédente pour obtenir le code suivant :

$(document).ready(function(){
   alert("Le JavaScript et jQuery c'est vraiment génial !! ");
 });                  

Très bien, nous avons réussi à créer notre première fonctionnalité JavaScript. Essayons maintenant d'interagir avec l'utilisateur de la page HTML

Comment capter un évènement utilisateur en jQuery?

L'un des principaux intérêts du JavaScript c'est de pouvoir exécuter un traitement en réponse à un événement utilisateur comme un clic ou un survole de souris. Cela permet à votre page HTML de devenir plus interactive et plus ergonomique. Avec jQuery rien de plus simple, il suffit de remplacer le code JavaScript et le code HTML précédent par les exemples ci-dessous :

Voilà nous venons donc, très simplement et avec peu de code, d'associer un traitement lors du clic sur chacun des liens de notre page. Analysons ensemble ce code jQuery. Nous pouvons remarquer l'utilisation de 3 fonctions jQuery, les fonctions $(), click() et html().

Animations et effets en jQuery

jQuery vous fournit un ensemble de fonctions qui vont vous permettre d'appliquer des animations à vos éléments HTML. Essayons par exemple de coder un lien qui permettra d'afficher ou de cacher une zone de texte.

Dans cet exemple, nous utilisons deux nouvelles fonctions jQuery, la fonction show() et la fonction hide(). Lorsque nous cliquerons sur un lien avec la class "show" alors nous appliquerons la fonction show à l'élément identifié par l'id="text-hidden". Lorsque nous cliquerons sur les liens avec la class "hide" alors nous appliquerons la fonction hide à l'élément identifié par l'id="text-hidden".

Modifier l'apparence d'éléments HTML en jQuery

Une fonctionnalité importante de jQuery, c'est la possibilité de modifier à la volée l'apparence (c'est à dire les styles CSS) d'un élément HTML . Pour illustrer ce paragraphe, nous allons essayer de coder une zone de texte dont l'apparence change lorsqu'elle est survolée par la souris de l'utilisateur

Dans cet exemple, nous avons utilisé deux nouvelles fonctions jQuery, hover() et css(). Comme vous pouvez vous en douter , la fonction hover() va permettre de gérer l'évènement "survole de la souris" alors que la fonction css() permet de modifier les styles css et donc l'apparence de votre élément HTML.

Les fonctions jQuery sont "chaînables"

La plupart des fonctions jQuery retourne l'objet jQuery sur lequel elles sont appliquées. Concrètement cela signifie que vous pouvez enchainer les fonctions les unes après les autres. Pour illustrer nos propos, reprenons l'exemple où nous avions modifié le texte du lien sur lequel l'utilisateur clique

   $("#demo1 a").click(function (){
      $(this).html("<strong>lien cliqué</strong>");
      return false;
    });

Dans cet exemple, nous avions modifié le texte du lien pour indiquer qu'il avait été cliqué ("lien cliqué"). Imaginons maintenant que nous souhaitions mettre encore plus en évidence le lien cliqué en lui ajoutant un fond rouge. Dans ce cas nous pourrions modifier le code pour obtenir

 $(this).html("<strong>lien cliqué</strong>");
 $(this).css({'background':'red'});

Mais pour simplifier le code, jQuery nous permet d'enchainer les fonctions

 $(this).html("<strong>lien cliqué</strong>").css({'background':'red'});

Récupérer un objet javascript standard à partir de l'objet jQuery

Dans le concept jQuery, tout est encapsulé dans le fameux objet jQuery que nous avons étudié précédemment. Cependant il arrivera parfois que vous souhaitiez utiliser les propriétés des objets javascript standards (éléments DOM). Pour cela jQuery vous fournit la fonction get qui vous permet de récupérer les objets javascript standards à partir de l'objet jQuery.

Aller plus loin avec jQuery

Voilà, ce petit quide démarrage jQuery est terminé en espérant que celui-ci vous ait donné envie d'approfondir votre apprentissage. Pour cela, nous travaillons sur d'autres rubriques à venir.