JQUERY. LI288 web et développement web



Documents pareils
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Présentation du Framework BootstrapTwitter

SYSTÈMES D INFORMATIONS

Ajax, RIA et HTML Prise en charge d Ajax

Document Object Model (DOM)

Formation : WEbMaster

Publication dans le Back Office

TP JAVASCRIPT OMI4 TP5 SRC

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Guide de réalisation d une campagne marketing

INTRODUCTION AU CMS MODX

Chapitre 1. Prise en main

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Les calques supplémentaires. avec Magix Designer 10 et autres versions

Nouveautés joomla 3 1/14

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Manuel du composant CKForms Version 1.3.2

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

OpenOffice.org Présentation - Débuter. Distribué par Le projet OpenOffice.org

DOM - Document Object Model

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Devenez un véritable développeur web en 3 mois!

Le stockage local de données en HTML5

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Edition de sites Jahia 6.6

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Créer un diaporama avec OpenOffice.org Impress

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PHP 5.4 Développez un site web dynamique et interactif

SOMMAIRE AIDE À LA CRÉATION D UN INDEX SOUS WORD. Service général des publications Université Lumière Lyon 2 Janvier 2007

Access 2007 FF Access FR FR Base

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

MODE D'EMPLOI DU CONTRIBUTEUR WEB UAPV "CONTRIBUER DANS UNE RUBRIQUE DU SITE WEB"

Open Office - Présentation

Manuel d utilisation NETexcom

Optimiser pour les appareils mobiles

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Bonnes pratiques de développement JavaScript

NOMBRE DE PAGES : 13 NOTE SUR LE MODULE RESERVATIONS ET RESSOURCES PARAMETRAGE

INFORM :: DEMARRAGE RAPIDE A service by KIS

26 Centre de Sécurité et de

MEDIAplus elearning. version 6.6

Publier dans la Base Documentaire

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

Tutoriel TYPO3 pour les rédacteurs

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Comment utiliser RoundCube?

Pluridisciplinarité. Classe de BTS DATR

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

Contenu. Thème «responsive» pour WordPress Installer le thème responsive (disponible aussi sur le site wordpress.org) Activer ce thème

PARAMETRER INTERNET EXPLORER 9

Manuel d utilisation de Gestion 6

Optimiser les s marketing Les points essentiels

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Créer et gérer des catégories sur votre site Magento

Introduction aux concepts d ez Publish

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur


Editeur html Guide de l'utilisateur

Livre Blanc WebSphere Transcoding Publisher

1. Installation du Module

N SIRET : N

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

SPECIFICITES TECHNIQUES DES FORMATS PUBLICITAIRES

Guide Expert Comptable Production Coala

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Notes pour l utilisation d Expression Web

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Groupe Eyrolles, 2003, ISBN : X

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Projet en nouvelles technologies de l information et de la communication

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction à Expression Web 2

Création d un formulaire de contact Procédure

HTML5 et CSS3 pour des sites Responsive Web Design

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

4. Personnalisation du site web de la conférence

Tutoriel : logiciel de présentation Openoffice Impress

Créer un site Internet dynamique

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

Formation. Module WEB 4.1. Support de cours

CAPTURE DES PROFESSIONNELS

Réalisation de cartes vectorielles avec Word

Cadastre du bruit SIT-JURA. Connecteur Arcview9.x - MSAccess. Mode d emploi. Appel formulaire. Page 1 sur 15

Manuel utilisateur du CMS Anan6

Administration du site

Manuel d utilisation du site web de l ONRN

Parcours FOAD Formation EXCEL 2010

Gestion de références bibliographiques

Administration du site (Back Office)

Transcription:

JQUERY LI288 web et développement web

jquery Librairie Javascript qui permet de : Simplifier les taches de base en Javascript. Accéder à des partie d'une page HTML : Utilisation d'expressions CSS ou "Xpath" Modifier l'apparence et le contenu de la page. Créer et modifier des événements. Animer une page. Faire de l'"ajax". Eviter les problèmes de compatibilité entre navigateurs.

jquery Projet open-source, bien supporté et documenté. http://jquery.com/ Ne se substitue pas à la connaissance de Javascript Tout ne se fait pas naturellement en jquery. Eviter de tout "Jqueriser". Beaucoup d'autres librairies similaires : Mootools, Prototype, Dojo, script.aculo.us, Jquery est efficace, légère, bien documentée

Philosophie jquery Sélectionner une partie du document. Agir dessus Objet jquery = ensemble de nœuds du DOM C'est-à-dire un ensemble de balises du document. Les objets jquery se créent avec la fonction $(). $("div") retourne tous les "div" du document. $("<div/>") crée une nouvelle balise div.

Philosophie jquery Sélectionner une partie du document. Agir dessus // récupérer tous les div du DOM puis les cacher $("div").hide(); // Simuler un clic sur tous les boutons $(":button").click(); // Créer un <span> et l'ajouter à la fin du body $("<span/>").appendto("body");

Inclure du jquery Télécharger le fichier jquery.js Il existe un version jquery-min.js plus légère : gain de bande passante mais fichier non lisible. Inclusion du fichier (comme tout javascript) : En tant que script externe : <script type="text/javascript" src="jquery.js"></script> Depuis le site de jquery : src="http://code.jquery.com/jquery-1.4.4.min.js"

Un exemple simple On veut ajouter une classe c1 à tous les div en javascript. function addclassc1() { } var divs = document.getelementsbytagname("div"); for (var i = 0; i < divs.length; i++) { } var div = divs[i]; div.setattribute("class", "c1"); <body onload='addclassc1();'>

Un exemple simple En jquery : $("div") permet de sélectionner tous les div. La méthode.addclass() permet d'ajouter une classe à un objet. /* Solution avec fonction */ function addclassc1() { } $("div").addclass("c1") <body onload='addclassc1();'> /* Solution directe */ <body onload='$("div").addclass("c1");'>

Un exemple simple En jquery : <body onload='$("div").addclass("c1");'> Problèmes : Il faut modifier la partie HTML Tout doit être chargé (y compris les images) : L'affichage va changer à l'exécution de la fonction.

Un exemple simple En jquery : Événement disponible après la création du DOM et avant le chargement des images $(document).ready(f) Attention on doit passer une fonction en argument! Avantage : rien à modifier dans le HTML /* version simple */ $(document).ready(addclassc1); /* avec une fonction anonyme */ $(document).ready( function(){ $("div").addclass("c1"); } );

La fonction $ Exécution quand le DOM est construit Syntaxe courte (avec fonction anonyme: $(function(){ }); Syntaxe longue : $(document).ready(function(){ }); ou encore remplacement de $ par jquery : jquery("div"); (attention à la majuscule) a utiliser en cas d'utilisation d'autres librairies (moins de risque de conflits)

Utilisation de la fonction $ Créer des objets jquery var el = $("<div/>") Le résultat est un objet javascript contenant une balise div. Manipuler des objets existant : alert($(window).width()); Sélectionner des objets pour agir dessus $("div").hide(); $("div", $("p")).hide();

Retour des fonctions Les fonctions retournent des objets jquery : Possibilité de chaîner les appels de fonction. Attention à la lisibilité! $("div") // sélection de toutes les balises div.show() // rendre tous les objets visibles.addclass("main") // ajouter la classe main.html("hello jquery"); // modifier le contenu

Besoin d'aide http://jquery.com/ Tout y est : Le code sources La doc sur tous les paramètres et toutes les fonctions. Des exemples. Plein de plugins.

Dans la suite Des exemples pour : Sélectionner des objets. Ajouter des effets d'animations. Utiliser les événements. Faire des requêtes "à la AJAX". La librairie jquery user interface.

JQUERY COMMENT SÉLECTIONNER LI288 web et développement web

Sélecteur Principe de base : Un sélecteur retourne un tableau d'objets jquery : $("*") retourne toutes les balises $("div") est un tableau contenant tous les <div> de la page. $("div").length permet de connaître le nombre de div dans la page.

Sélection restreinte Possibilité de sélectionner (comme en CSS) : Par type de bloc. Par identifiant (attribut id d'une balise). Par classe (attribut class d'une balise). // <div>test</div> $("div") // <span id="test">jl</span> $("#test") // <ul class="test">jl</ul> $(".test")

Sélection restreinte Possibilité de combiner les sélecteurs. // tous les divs de classe main $("div.main") // le tableau d'identifiant data $("table#data") // objets d'identifiant "content" ou de classe "menu" // attention à la position des guillemets $("#content,.menu")

Sélection dans un contexte Sélection dans un contexte : $(recherche, contexte) Sélectionne d'abord le contexte (une partie du DOM) puis effectue la recherche à l'intérieur. // comme en CSS : $("div.header").hide(); // ou chercher tous les div // chercher des balises de class header à l'intérieur $(".header", $("div")).hide(); // cacher ces balises

Sélection dans un contexte Dans certaines situations on a besoin du contexte : On peut attribuer une action sur le contexte Puis agir sur une partie de celui-ci. // si on clique sur un div // tous les p à l'intérieur vont disparaitre ou apparaitre $('div').click(function() { $('p', this).toggle(); });

Sélection restreinte On peut aussi faire des recherches avec find(). Supprimer une restriction avec end(). // cacher tous les p contenus dans un div $("div").find("p").hide(); // similaire à une recherche dans le contexte : $("p", $("div")).hide(); // cacher tous les p contenus dans un div puis montrer dans les span dans ces div $("div").find("p").hide().end().find("span").show();

Sélection restreinte Pour obtenir un seul élément : // récupération d'un seul élément sous forme d'objet jquery $("div").eq(2) // en partant de la fin $("div").eq(-2) // récupération d'un élément du DOM : $("div").get(2) $("div")[2] // équivalent

Sélecteurs d'attributs // les éléments <div /> ayant un identifiant $("div[id]") // les éléments <div /> avec id "test" $("div[id='test']") // les éléments <div /> dont l'id commence par test $("div[id^='test']") // les éléments <div /> dont l'id termine par test $("div[id$='test']") // les éléments <div /> dont l'id contient test $("a[href*='test']")

Sélecteurs de hiérarchie Possibilité d'atteindre : Les fils (>). Tous les descendants (espace). Le (+) ou les (~) frères suivants. <ul> <li>item 1</li> <li>item 2</li> <li class="trois">item 3 <ol><li>3.1</li></ol></li> <li>item 4 <ol><li>4.1</li></ol></li> <li>item 5</li> </ul> // cache 4 et 5 $('li.trois ~ li').hide(); // cache 4 $('li.trois + li').hide(); // cache les <ol> $("ul ol") // ne cache rien $("ul > ol")

Sélecteurs de hiérarchie Possibilité de sélectionner de manière plus précise : Frère, enfants, parents Utilisation de fonctions // frère suivant.next(expr) // frère précédent.prev(expr) // frères.siblings(expr) // enfants.children(expr) // père.parent(expr)

Sélecteurs d'ordre // premier paragraphe p:first // dernier élément de liste li:last // quatrième lien a:nth(3) ou a:eq(3) // paragraphes pairs ou impairs p:even ou p:odd every // Tous les liens à partir (greater than) du quatrième ou avant (lower than) a:gt(3) ou a:lt(4) // Liens qui contiennent le mot click a:contains('click')

Sélecteurs de visibilité // si l'élément est visible $("div:visible") // sinon $("div:hidden")

Sélecteurs de formulaires // sélectionner les checkbox $("input:checkbox") // sélectionner les boutons radio $("input:radio") // sélectionner les bouton $(":button") // sélectionner les champs texte $(":text")

Sélecteurs de formulaires $("input:checked") $("input:selected") $("input:enabled") $("input:disabled") <select name="valeur"> <option value="1">1</option> <option value="2" selected="selected">2</option> <option value="3">3</option> </select> $("select option:selected").val()

La fonction each appelle une fonction pour chaque élément : $(this) = élément courant i - index de l'élément courant Possibilité de récupérer l'élément sous forme DOM $("table tr").each(function(i){ if (i % 2) $(this).addclass("odd"); });

Sélecteurs supplémentaires Utilisation de is() $("table td").each(function() { if ($(this).is(":first-child")) { $(this).addclass("firstcol"); } });

Restriction $("div").slice(1, 4) // restreint aux éléments entre 1 et 4.not("[name*='green']") // restreint aux élément non verts.addclass("couleur"); }); <div name="red"></div> <div name="red"></div> <div name="green"></div> <div name="red"></div> <div name="green"></div> <div name="red"></div> <div class="couleur" name="red"></div> <div name="green"></div> <div class="couleur"name="red"></div> <div name="green"></div>

JQUERY COMMENT MODIFIER LI288 web et développement web

Modifier le contenu HTML // modifier le contenu de tous les p du document $("p").html("<div>bonjour</div>"); // modifier le contenu de div.a en celui de div.c $("div.a").html($("div.c").html()); // idem pour div.b avec échappement du contenu de div.c $("div.b").text($("div.c").html()); <p></p> <p><div>bonjour</div></p> <div id="a">bonjour</div> <div id="b"><a href="#">au revoir</a></div> <div id="c"><a href="#">au revoir</a></div> <div id="a"><a href="#">au revoir</a></div> <div id="b"><a href="#">au revoir</a></div> <div id="c"><a href="#">au revoir</a></div>

Modifier des valeurs val() : permet d'obtenir la valeur des objets val(valeur) permet de modifier la valeur des objets // obtenir la valeur de toutes les checkboxes cochées $("input:checkbox:checked").val(); // modifier la valeur d'un champs text de nom txt $(":text[name='txt']").val("hello"); // selectionne une valeur d'un select d'identifiant lst $("#lst").val("ns");

Manipulation de CSS Il est possible de modifier les classes des objets : addclass, removeclass, toggleclass hasclass // ajouter et supprimer une classe $("p").removeclass("blue").addclass("red"); // ajouter si absent ou l'inverse $("div").toggleclass("main"); // vérifier l'existence d'une classe if ($("div").hasclass("main")) { // }

Manipulation de CSS // récupérer le style (un argument) $("div").css("background-color"); // modifier le style (deux arguments) $("div").css("float", "left"); // modifier le style, version rapide $("div").css({ "color":"blue", "padding": "1em", "margin-right": "0", "margin-left": "10px" });

Insérer des éléments // Ajouter à la fin de l'objet // sélection des ul et ajout à la fin $("ul").append("<li>test</li>"); // création d'un objet <li> // modification du contenu // ajout à la fin des ul $("<li />").html("test").appendto("ul"); // Ajouter au début $("ul").prepend("<li>test</li>"); $("<li />").html("test").prependto("ul");

Remplacer des éléments // remplace tous les <div>test</div> par des <h1> $("h1").replacewith("<div>test</div>"); // replaceall fonctionne à l'envers $("<div>test</div>").replaceall("h1"); // Sans modifier le contenu : $("h1").each(function(){ $(this).replacewith("<div>"+ $(this).html()+"</div>"); });

Supprimer des éléments // supprimer tous les span de classe names $("span.names").remove(); // vider tout le contenu de l'objet d'identifiant maincontent $("#maincontent").empty(); // déplacer un objet par suppression + création // supprime tous les p et les ajoute à la fin du document $("p").remove().appendto("body");

Gestion des attributs // ajoute l'attribut href $("a").attr("href","home.htm"); // <a href="home.htm">...</a> // sélection de tous les boutons sauf le premier // changement de l'attribut disabled en le mettant comme celui du premier bouton $("button:gt(0)").attr("disabled", $("button:eq(0)").attr("disabled)); // supprime l'attribut disabled de tous les boutons $("button").removeattr("disabled")

Attributs multiples $("img").attr({ "src" : "/images/smile.jpg", "alt" : "Smile", "width" : 10, "height" : 10 });

JQUERY LES EFFETS LI288 web et développement web

Apparition et disparition // montrer un élément $("div").show(); // montrer un élément lentement (slow=600ms) $("div").show("slow"); // cacher un élément rapidement (fast=200ms) $("div").hide("fast"); // inverser (montrer ou cacher) en une durée fixée $("div").toggle(100);

Translation et fading // Translation $("div").slideup(); $("div").slidedown("fast"); $("div").slidetoggle(1000); // Fading $("div").fadein("fast"); $("div").fadeout("normal"); // Fading avec opacité fixée $("div").fadeto("fast", 0.5);

Fin d'un effet // fait disparaitre l'objet lentement // une fois la disparition terminée, on réaffiche l'objet $("div").hide("slow", function() { $("div").show("slow")}); $("div").hide(); $("a").click(function() { $("div").show("fast", function() { $(this).html("show div");}); });

Effet personnalisé.animate(options, durée, transition, complete,...) : Options : ensemble de propriétés CSS. Transition : comment se déroule l'animation (linéaire ou pas). Complete : callback exécuté après la fin de l'animation. // réduction de la largeur à 50% et changement d'opacité. // Le tout en 1s. $("div").animate({ width: "50%", opacity: 0.5,}, 1000);

Enchainement d'animations Par défaut les animations sont effectuées l'une à la suite de l'autre. Modifiable en utilisant "queue:false". // enchainement des animations // modification du style, puis de la largeur et enfin de l'opacité $("div").animate({width: "20%"},2000).animate({opacity: 0.5},2000); // animations simultanées $("div").animate({width: "20%"}, {queue:false, duration:2000}).animate({opacity: 0.5},2000);

JQUERY LES ÉVÉNEMENTS LI288 web et développement web

Le premier événement Chargement de la page $(document).ready( ) Assez similaire à onload() : onload : quand tout est chargé ready : quand le DOM est prêt (avant chargement des images) $(document).ready(function(){... }); // similaire à $(function() {...});

Gestionnaire d'événements Événements disponibles : blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error

Associer des événements // associer une fonction à un événement $("div").bind("click", function() { $(this).text($(this).html()) + "test" }); // exécuter une seule fois (pour chaque objet) $("div").one("click", function() { $(this).text("test") }); // arrêter d'exécuter l'événement $("div").bind("click", function() { $(this).text("test" + $(this).html()); $("div").unbind("click") });

Trigger Force l'appel aux événements liés à un objet <button>#1</button> <button>#2</button> <div> <span>0</span> clics. </div> <div> <span>0</span> clics. </div> $("button:first").click(function () { update($("span:first")); }); $("button:last").click(function () { $("button:first").trigger('click'); update($("span:last")); }); function update(j) { var n = parseint(j.text(), 10); j.text(n + 1); }

TriggerHandler triggerhandler = trigger mais le comportement par défaut n'est pas exécuté. Le deuxième bouton ne donne pas le focus à l'input <button id="old">trigger</button> <button id="new">triggerh</button> <input type="text" value="focus"/> $("#old").click(function(){ $("input").trigger("focus");}); $("#new").click(function(){ $("input").triggerhandler("focus");}); $("input").focus(function(){ $("<p>focus</p>").appendto("body");});

L'objet Event - attributs type : nom de l'événement exécuté target : objet qui a exécuté l'événement cf propagation des événements currenttarget : = this pagex et pagey : position de la souris

Un exemple : position de la souris Exemple avec événement lié au déplacement de la souris. Via un événement lié à tout le document. <div id="log"></div> <script> $(document).bind('mousemove',function(e){ $("#log").text(e.pagex + ", " + e.pagey); }); </script>

L'objet Event - méthodes preventdefault / isdefaultprevented : bloque le fonctionnement par défaut stoppropagation / ispropagationstopped / stopimmediatepropagation / isimmediatepropagationstopped

Comportement par défaut // modifier le comportement par défaut $("div").triggerhandler("click"); // empêcher le comportement par défaut function clickhandler(e) { e.preventdefault(); } // similaire à : function clickhandler(e) { return false; }

Propagation des événements Exemple : menu déroulant multi-niveaux. Un clic se propage sur tous les objets associés : Si on clique sur <li> Niveau 3 : item 2</li> alors on clique aussi sur le <li> du niveau 2 et celui du niveau 1 On a donc trois alertes. La propagation est ascendante. $(document).ready(function () { $("li").click(function () { alert($(this).html()); }); }); <ul> <li> Niveau 1 : item 1</li> <li> Niveau 1 : item 2 <ul> <li> Niveau 2 : item 1</li> <li> Niveau 2 : item 2 <ul> <li> Niveau 3 : item 1</li> <li> Niveau 3 : item 2</li> </ul></li></ul></li></ul>

Propagation des événements On peut stopper la propagation des événements : stoppropagation(); Ou de manière similaire faire return false; Attention cela peut bloquer d'autres choses. $(document).ready(function () { $("li").click(function (e) { alert($(this).html()); e.stoppropagation(); }); });

Evénements dans le futur Un événement n'est appliqué qu'aux éléments qui existent : Si un <div> est créé après l'ajout de l'événement, il ne sera pas cliquable. Avec live(), même si le <div> est créé plus tard, il sera cliquable. die() détruit tous les événements live(). // attacher un événement même dans le futur ("div").live("click", fn); // détacher les événements créés avec live ("div").die("click", fn);

Remarque Un événement (objet, type) peut être créé plusieurs fois : Tous les événements seront exécutés. <a href="">clic</a> <script> $("a").click(function(event) { alert(event.type); }); $("a").click(function(event) { alert(event.pagex + ", " + event.pagey); }); </script>

JQUERY FONCTIONNALITÉS "AJAX" LI288 web et développement web

Charger du contenu Pour mettre du contenu dans un objet : C'est un peu plus simple qu'en "Ajax". // version sans arguments : // récupère fichier.html et met le contenu dans le div#content $("div#content ").load( "fichier.html" ); // version avec arguments : // appelle la page fichier.php?nom=guillaume $("div#content ").load( "fichier.php", {"nom":"guillaume"} );

Charger du contenu Avec GET / POST // récupère le fichier fichier.html puis exécute la fonction $.get( "fichier.html", {id:1}, function(data){ }); alert(data); $.post( " fichier.html", {id:1}, function(data){ alert(data); });

Les fonctions AJAX.ajaxComplete() Fonction à appeler à la fin de la requête..ajaxerror() Fonction à appeler en cas de fin sur erreur.ajaxstart() Fonction à appeler au lancement de la requête..ajaxsend() Fonction à appeler avant l'envoi..ajaxstop() Fcontion à appeler quand toutes les requêtes Ajax sont terminées..ajaxsuccess() Fonction à appeler quand la requête termine avec succès.

Les fonctions AJAX $('.log').ajaxstart(function() {$(this).append('start.');}); $('.log').ajaxsend(function() {$(this).append('send.');}); $('.log').ajaxcomplete(function() {$(this).append('complete.');}); $('.log').ajaxstop(function() {$(this).append('stop.');}); $('.log').ajaxsuccess(function() {$(this).append('success.');}); $('.trigger').click(function() { }); $('.result').load('fichier.json'); <div class="trigger">trigger</div> <div class="result"></div> <div class="log"></div> <div class="trigger">trigger</div> <div class="result">[0]</div> <div class="log"> Start.Send.Success.Complete.Sto p. </div>

Récupérer du JSON - Javascript $.getjson( "fichier.json", {id:1}, function(users) { alert(users[0].name); }); $.getscript( "script.js", function() {...; });

De manière générale Il existe la fonction ajax générique : Toutes les autres fonctions sont un cas particulier de celle-ci. $.ajax({ async: false, type: "POST", url: "test.html", data: "nom=jl", success: function(msg){ alert( "Data Saved: " + msg );} });

Attention Les événements AJAX ne sont pas liés à un appel en particulier : il faut se souvenir des appels et retrouver d'où est venu l'appel $('.log').ajaxcomplete(function(e, xhr, settings) { if (settings.url == 'ajax/test.html') { $(this).text('ok.'); } });

CONCLUSIONS LI288 web et développement web

jquery Possibilité de récupérer des objets du DOM. Evénements et animations. AJAX. Tout ça de manière indépendante des navigateurs.

Mais encore En plus des fonctions, on a accès à de nombreuses fonctions d'interface utilisateur (jquery-ui) : Drag and drop Tableaux triables Accordéons Eléments triables Barres de progression Onglets Plugins plus de 4000 plugins actuellement

Sortable éléments triables <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery-ui.js"></script> <script type="text/javascript"> $(function() { $( "#sortable" ).sortable(); }); </script> </head> <body> <ul id="sortable"> <li>item 1</li> <li>item 2</li> <li>item 3</li> <li>item 4</li> </ul> </body>

Draggable / droppable <script type="text/javascript"> $(function() { $( "#draggable" ).draggable(); $( "#droppable" ).droppable({drop: function( event, ui ) { $( this ).html( "laché!" );}}); }); </script> </head> <body> <div id="draggable" >move</div> <div id="droppable" style="border:1px solid red">on peut dropper ici</div>

Diaporama /* code jquery */ function slideshowstart() { $('#gallery img').hide(); $('#gallery img:first').addclass('show').show(); $('#gallery img').click(nextimage); setinterval('nextimage()',3000); } function nextimage() { var current = $('#gallery img.show'); var next = (current.next().length)?current.next():$('#gallery img:first'); next.addclass('show').show(); current.removeclass('show').hide(); } $(document).ready(function() {slideshowstart();}); /* code html */ <div id="gallery"> <img src="image1.jpg" alt="image 1" /> <img src="image2.jpg" alt="image 2" /> <img src="image3.jpg" alt="image 3" /> </div>