Rodrigo Reyes @nogunner
Ludovic Lafole @LudovicLafole
Association @paloaltours
Lien vers cette présentation: http://is.gd/zaciba
Faire ensemble vos premiers pas pour ajouter un comportement dynamique à vos pages web
Lorem ipsum
Mauris id dictum lorem...
- In vehicula nec massa non dictum.
-
Nullam
malesuada
augue dictum tincidunt viverra
<html>
<header></header>
<body>
Lorem ipsum
Mauris id dictum lorem...
- In vehicula nec massa non dictum.
-
Nullam
<span class="important">malesuada
augue dictum tincidunt viverra
<body>
</html>
jQuery a emergé en 2005/2006 en simplifiant l'accès et la manipulation du contenu html
Quelques fondamentaux
var x = 23; // x=23
var y = x * 10; // y=230
var user = "Kevin Dupont";
La variable est un espace de stockage pouvant contenir des nombres, des chaines de caractère (string), des objets, etc
// D'abord: on déclare une variable
var y;
// On peut lui donner une valeur dès la déclaration
var y = 23;
// Ensuite: on l'utilise
y = 0;
y = y + 100;
Les fonctions sont un groupement de commandes
// vide
function() {
}
// renvoie une valeur
function() {
var x = 12;
return x * 10;
}
// Prend un ou plusieurs paramètres
function(x) {
return x * 3.14159;
}
// Peut avoir un nom
function cmToInches(cm) {
return cm * 0.393700787;
}
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
Signe distinctif: $
Exemple: $(MAGIC)
= ce qui permet de sélectionner des éléments du html
Les sélecteurs jQuery sont d'une puissance surprenante
$("h2").hide();
$(".section").click(function() {
$(".important").css("color", "red");
});
Allez sur cette présentation, et déplacez-vous sur cette page
http://is.gd/apabud
En cliquant sur "texte caché", ce dernier est remplacé par un autre texte.
Ecrire un convertisseur euros → francs
Ajouter ou enlever une classe css à un élément
L'on peut ajouter ou enlever une class d'un élément.
$('#paloaltours').addClass('blue').removeClass('green')
L'on peut ajouter ou enlever une class selon si elle est déjà présente ou non.
$('#paloaltours').toggleClass('green')
Deux exercices en un !
L'objectif est d'ajouter/enlever des classes CSS sur des éléments en fonction
d'événements utilisateur.
Lorsque l'utilisateur clique sur l'élémént +/-, la taille de l'image change.
jQuery propose quelques fonctions prédéfinies





Faites vos propres animation avec animate.
Ne permet d'animer que des valeurs numériques.
$('#paloaltours').animate({ width:'20%', left:'80%' }, 1500)
Il est possible de chaîner les animations.
$('#paloaltours').animate({ width:'20%', left:'80%' }, 700)
.animate({ width:'10%', left:'0' }, 700)
.slideUp(700)
.slideDown(700)
Il est possible de chaîner les animations.
$('#paloaltours').stop(true)
Découverte des animations
https://jsfiddle.net/L6uLuvum/Un accordeon en jQuery.
https://jsfiddle.net/zvxnvncn/Bouton on/off animé.
https://jsfiddle.net/xdkphkwo/
Url : https://github.com/jquery/jquery-color/
Permet de d'animer les changement de couleurs.
Ajoute à .animate() la possibilité d'animer sur background-color et color
Permet de valider un formulaire et d'afficher des messages en conséquence. Url : http://jqueryvalidation.org/Exemple :
<form id="login">
<label for="email">Email:</label><input type="text" name="email">
<label for="password">Password:</label><input type="password" name="password">
</form>
<script type="text/javascript">
$('#login').validate({
rules: {
email: { required: true, email: true },
password: { required: true }
},
messages: {
email: 'Vous devez entrer un email valide.',
password: 'Vous devez entrer un mot de passe'
},
submitHandler: function(form) {
// Faire des choses une fois le formulaire valide
}
})
</script>
Reproduire l'animation Windows 8 avec .animate()
https://jsfiddle.net/teuyy1dL/Utiliser un plugin jQuery pour gérer ses formulaires
https://jsfiddle.net/teuyy1dL/