[[web:accueilweb|{{ :iconemaison.jpg?nolink&25|Sommaire Web}}]] ===== jQuery - Afficher et cacher des images ===== [Mise à jour le 28/3/2024] \\ === Prérequis === Base de HTML, de CSS et de JavaScript (jQuery). \\ ==== 1. Présentation ==== Simuler la commande d'ouverture et de fermeture d'un volet roulant. === 1.1 Comportement attendu === {{ :web:jquery:voletonoff.png?nolink |}} === 1.2 Démarche proposée === - Charger les images à l'ouverture du navigateur. (volet.html) - Les cacher avec du code CSS. (volet.css) - Faire apparaître ou disparaître l'image du volet avec du code jQuery. (volet.js) \\ ==== 2. Conception ==== Télécharger le dossier **Animation_Volet** et l'ouvrir dans VSCode. === 2.1 Codage du fichier volet.html === {{ :web:jquery:vscode_animation_volet.png?nolink&220|}} Les images à afficher sont placées dans un 'conteneur' réalisé avec une balise div. Ceci facilitera le positionnement de l'ensemble fenêtre volet sur la page. * Placer les deux images dans la balise conteneur et les identifier par : id="fenetre et id="volet100". * Ajouter les deux boutons sous les images et les identifier par : id="fermer" et id="ouvrir. Les images (non redimensionnées) apparaissent l'une à côté de l'autre. Les boutons-poussoirs sont placés en dessous. \\ === 2.2 Codage du fichier volet.css === * Ce fichier est utilisé pour : * dimensionner le 'conteneur' et les images, * positionner les images dans le conteneur. * Compléter le fichier //volet.css// comme ci-dessous. #conteneur { width: 220px; height: 260px; background-color: yellow; } #fenetre { width: 203px; height: 252px; } #volet100 { width: 203px; height: 252px; } Les images sont redimensionnées. Le volet est placé sous la fenêtre. * Compléter les règles CSS avec le code ci-dessous. #fenetre { position: absolute; top: 10px; left: 10px; ... } #volet100 { position: absolute; top: 10px; left: 10px; ... } Le volet se positionne sur la fenêtre. * Ajouter **//display:none;//** dans #volet100 pour faire disparaître le volet. #volet100 { ... display:none; } Des informations sur la propriété CSS **//position//** sont accessibles ici. Voir également z-index pour empiler (dépiler) des objets . \\ === 2.3 Codage du fichier volet.js === L'apparition et la disparition du volet sont commandées par des évènements (clic de souris sur les boutons). * Modifier le fichier //volet.js// comme ci-dessous. // Fermeture du volet $("#fermer").click(function () { $("#volet100").show(); }); // Ouverture du volet $("#ouvrir").click(function () { $("#volet100").hide(); }); Les boutons-poussoirs commandent la position du volet. ==== 3. Amélioration ==== Le réalisme de l'animation peut être amélioré en ajoutant d'autres images de position. //Exemple//. {{ :web:jquery:volet_autres_images.png?nolink |}} Télécharger les images permettant de représenter 25%, 50%, et 75% de l'ouverture du volet. Modifier le code des fichiers //volet.html//, //volet.css// et //volet.js//.