Académique Documents
Professionnel Documents
Culture Documents
Marcel Bosc
●
À quoi ça sert ?
●
Présentation
●
Exemple 1
●
Exemple 2
1ère partie
À quoi ça sert ?
Exemples
JS partout !
Google Maps
Menus déroulants
etc.
SQL
http://site.org/saisie.php apache
votre adresse:
1
toto@site.o 2
saisie.php
envoyer
internet
apache
votre adresse: 1
toto@site.o
envoyer
script
client
pas d'interaction
client / serveur
lente
adresse non valide!
toto@site.o 2
envoyer
internet
Exemple de formulaire:
Avec JavaScript l'erreur peut être affichée
immédiatement, après avoir appuyé sur «
envoyer », ou même au fur et à mesure que
l'utilisateur tape.
[lp525]
Utile et sympa !
Stages :
très souvent en web => JS
Emploi :
très demandé
Sympa !
2ème partie
Présentation
Exemple
<html> exemple.html
<head>
<title>exemple</title>
<script src="jquery.js"></script>
<script src="exemple.js"></script>
</head>
<body>
<h1>Ceci est un titre</h1>
<p>bla bla bla</p>
</body>
</html>
$(document).ready(function() exemple.js
{
$('h1').click(function()
{
$('p').text('Bonjour!');
$('p').css('color','red');
});
});
Ce programme :
- Attend la fin du chargement du document :
$(document).ready(...)
- Lorsque l'utilisateur clique sur le titre h1 :
$('h1').click(...)
$(document).ready(function()
{ Type
var i;
Type implicite
implicite
for(i=0; i<10; i++)
(pas
(pas de
de "int",
"int", "String"...)
"String"...)
{
console.log('exemple '+i);
if(i>5){console.log('i est > 5');}
Syntaxe
Syntaxe "C"
"C" }
(PHP,
(PHP, Java...)
Java...) une_fonction_exemple();
function une_fonction_exemple()
{
alert("C'est moi !");
};
});
$(document).ready(function()
{
var i;
Changer couleur
for(i=0; i<10; i++)
Un titre
{
console.log('exemple '+i); un paragraphe
if(i>5){console.log('i est > 5');}
} Cacher / montrer
$('#bouton').click(function()
{
alert('Le bouton a été appuyé !');
Ajouter image
});
});
h1 p
Text Text
lien sont importants
a img a
On peut le manipuler
un objet!
en JavaScript
i=document.getElementById("photo");
i.style.border="1px solid red";
window
Un titre
un paragraphe
HTMLElement
document
DOM brut :
document.getElementById('photo').style.display="none";
jQuery : « $ » = jQuery
$('#photo').hide();
Exemple 1
$(document).ready(function()
{
$('h1').click(function()
{
$('p').text('Bonjour!');
$('p').css('color','red');
});
});
p {color: red;}
<h1>Un essai</h1>
<h2>Titre section-1</h2>
« # » = id
<p id="para1">bla bla bla bla</p>
balise
<h2 class="actu">Titre section-2</h2>
« . » = class
<p>bli bli bli bli bli</p>
<h2>Titre section-3</h2>
<p>Qu'est qu'on s'amuse!</p>
<h2 class="actu">Titre section-4</h2>
<p>abc def ghi jkl mno</p>
<h2 class="actu">Titre section-5</h2>
[lp552]
Liste jQuery
body <body>
<h1>Ceci est un titre</h1>
<p>bla bla bla</p>
h1 p
</body>
$('p').css('color','red');
$('xyz')
liste de tous les éléments
correspondant au sélecteur xyz
Le « $ » correspond à jQuery.
<body>
body
<h1 class="actu">un titre</h1>
<p class="actu">bla bla</p>
h1 p p <p>bla bla</p>
</body>
$('.actu').css('color','red');
Les listes jQuery sont un moyen très pratique pour faire des
opérations sur les éléments DOM.
On va les utiliser très souvent.
[lp550]
Fonction jQuery : .css()
$('p').css('color','red');
$('p') est une liste jQuery ... qui est aussi un objet. .css() est une
fonction associée à cet objet (en POO on dit aussi « méthode »).
true
$('p').hasClass('actu')
false
Rappel:
un élément peut avoir plusieurs valeurs dans
class, séparées par des espaces:
<p class="actu exemple autre-exemple">...</p>
$('p').text('bonjour');
<p>bla bla</p>
$(document).ready(function()
{
$('h1').click(function()
{
$('p').text('Bonjour!');
$('p').css('color','red');
});
});
body
Ceci est un titre
h1 p
bla bla bla
click sur h1
$('h1').click(une_fonction_a_appeler);
Gestionnaire d’événement :
une fonction qui sera appelée plus tard,
lorsqu'un événement se produit
[lp542]
Programmation événementielle
Séquentielle « classique » Événementielle
début. début.
fin. attendre
click utilisateur
reagir_click()
Afficher carré rouge
$(document).ready(function()
{
A aaa();
B $('h1').click(reagir_click);
C ccc();
});
function reagir_click()
{
D ...
}
$('h1').click(une_fonction_a_appeler);
...
function une_fonction_a_appeler(event)
{
if(event.which===1)
{
$(this).css('font-size','12px');
}
}
$(document).ready(function()
{
$('h1').click(function()
{
$('p').text('Bonjour!');
$('p').css('color','red');
});
});
Fonction anonyme
$('h1').click(function() pratique...
{ très utilisé !
$('p').css('color','red');
});
Exemple 2
body
div ul
input input li li
réagir événement
$(document).ready(function() « prêt » sur doc.
{
$('#ajouter').click(function() réagir événement
{
var ligne=$('<li></li>'); « click » sur élém.
var texte=$('#saisie').val(); id="ajouter"
ligne.text(texte);
$('#liste').append(ligne); changer texte
});
}); dans él. jQuery
« ligne »
$('<xyz ..>...</xyz>')
Crée des nouveaux éléments
à partir du code HTML.
On a vu précédemment la fonction
jQuery .html() qui permet d’insérer du code
HTML dans un élément existant. Cette approche
n'est pas toujours pratique.
input input li li
$('#liste').append(ligne);
éléments à ajouter :
endroit où ajouter $('<li></li>')
$('ul').before(...); $('ul').after(...);
body
div ul
li li
$('ul').prepend(...); $('ul').append(...);
li li li
Tom Joe Wang
Récapitulons:
1) On crée une liste jQuery contenant un <li>
vide. Ce li est crée par le navigateur, mais n'est
pas encore inséré dans l'arbre du document.
2) On lit le texte que l'utilisateur a tapé
3) On écrit se texte dans le <li> crée.
4) On insère le <li> dans l'arbre, à la fin du <ul>
[lp1761]
Ce document est distribué librement.
Sous licence GNU FDL :
http://www.gnu.org/copyleft/fdl.html
Les originaux sont disponibles au format LibreOffice
http://www-info.iutv.univ-paris13.fr/~bosc