Skip to content

Commit c6d9716

Browse files
committed
nouveaux chapitres
1 parent e666451 commit c6d9716

File tree

3 files changed

+127
-0
lines changed

3 files changed

+127
-0
lines changed

22-classes.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
layout: page
3+
title: Classes
4+
permalink: /js/classes/
5+
---
6+
7+
Accéder aux classes CSS
8+
==
9+
10+
Voici quelques besoins courants:
11+
12+
- Accéder aux classes CSS d'un élément - p.ex. pour déterminer si un menu est fermé ou ouvert.
13+
- Attribuer une classe CSS à un élément - pour lui appliquer un style, voir une animation CSS.
14+
15+
### Ajouter et supprimer des classes
16+
17+
Voici comment cela se fait avec jQuery:
18+
19+
```javascript
20+
if ($(".icon .bar").hasClass("active")) {
21+
$(".icon .bar").removeClass("active");
22+
$(".icon .bar").addClass("notActive");
23+
} else {
24+
$(".icon .bar").removeClass("notActive");
25+
$(".icon .bar").addClass("active");
26+
}
27+
```
28+
29+
En JavaScript classique, on utilisait une méthode un peu rudimentaire pour ajouter une classe:
30+
31+
```javascript
32+
el.className += ' ' + className;
33+
```
34+
35+
Il existe désormais une méthode plus pratique, qui est [supportée dans la majorité des navigateurs](https://caniuse.com/#search=classList) depuis 2013:
36+
37+
'''javascript
38+
39+
// ajouter une classe
40+
ELEMENT.classList.add("CLASS_NAME");
41+
42+
// supprimer une classe
43+
ELEMENT.classList.remove("CLASS_NAME");
44+
```

40-arrays.md

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
layout: page
3+
title: Arrays
4+
permalink: /js/arrays/
5+
---
6+
7+
Ce chapitre donne quelques informations sur une structure de données particulière : les données tabulaires, ou "array".
8+
9+
Un "array", ce sont des champs de données structurés, un peu comme un tableau excel.
10+
11+
Voici un exemple:
12+
13+
```javascript
14+
var attente = [ 15, 30, 60 ];
15+
```
16+
17+
On reconnait les "array" à un détail typographique: l'utilisation de crochets carrés indique qu'on manipule des array.
18+
19+
L'utilité d'un array, c'est de pouvoir plus facilement manipuler ces données, accéder à un champ particulier, changer leur ordre...
20+
21+
Exemple d'utilisation: le projet [Stratagèmes obliques](https://oblique-strategies.github.io/). Il s'agit d'un "jeu de cartes divinatoires". La principale fonctionalité est un tirage de cartes qui puise dans un ensemble de phrases, accompagnée chacune d'une illustration.
22+
23+
On souhaite que le tirage soit aléatoire, mais que la phrase et l'illustration concordent.
24+
25+
On a donc choisi de créer un "array" à deux colonnes, suivant ce modèle:
26+
27+
```
28+
var cards = [
29+
["NaMi_1.jpg","Honore ton erreur comme une intention cachée"],
30+
["NaMi_3.jpg","Cascades"],
31+
["NaMi_5.jpg","J'aime les ordinateurs, surtout Atari"],
32+
["NaMi_7.jpg","Repousse tes limites"],
33+
["NaMi_9.jpg","Tape avec ta tête sur ton clavier"]
34+
// etc.
35+
];
36+
```
37+
38+
Au chargement du site, cet array est mis dans un ordre aléatoire.
39+
40+
## Ordre aléatoire
41+
42+
Voici une fonction pratique, qui permet de mettre un array dans un ordre aléatoire:
43+
44+
```javascript
45+
function shuffle(a) {
46+
for (let i = a.length; i; i--) {
47+
let j = Math.floor(Math.random() * i);
48+
[a[i - 1], a[j]] = [a[j], a[i - 1]];
49+
}
50+
}
51+
```
52+
53+
On peut l'appliquer sur un array de cette façon:
54+
55+
```javascript
56+
shuffle(array);
57+
```
58+

57-urls.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
layout: page
3+
title: URLs
4+
permalink: /js/urls/
5+
---
6+
7+
Interagir avec des URLs.
8+
9+
Recharger la page courante: `location.reload();`
10+
11+
Redireger vers une page:
12+
13+
window.location.href="https://oblique-strategies.github.io/";
14+
15+
### Tester une variable URL
16+
17+
```javascript
18+
var modeDemo = window.location.hash;
19+
20+
if ( modeDemo == "#demo" ) {
21+
22+
// Faire quelque chose
23+
24+
}
25+
```

0 commit comments

Comments
 (0)