avec un foreach sur la collection querySelectorAll en utilisant l'indexe
Comme ceci ? j'obtiens une erreurUncaught TypeError: Cannot set properties of undefined (setting 'textContent')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 "use strict"; /* ___________________________Déclarer les variables et les fonctions______________________________ */ /* Déclaration des variables */ var item = document.querySelectorAll('.slider-item'); var str = document.querySelectorAll('.buttons--start'); var stp = document.querySelectorAll('.button--stop'); var start = 0; var end = 0; var diff = 0; var timer = 0; /* Fonction chrono */ function chrono(){ end = new Date(); diff = end - start; diff = new Date(diff); var sec = diff.getSeconds(); item.innerHTML = sec; timer = setTimeout("chrono()", 10); } /* ___________________________Écouter les événements__________________________________ */ /* Appeler la fonction qui déclanche le chrono lorsqu'on clique sur start*/ str.forEach(x => x.onclick = chronoStart) function chronoStart() { start = new Date(); chrono(); } /* Appeler la fonction qui arrête le chrono lorsqu'on clique sur stop*/ str.forEach(x => x.onclick = chronoStop) function chronoStop() { clearTimeout(timer) this.item.innerHTML = "0"; start = new Date(); console.log('stop '+i); } /* Appeler la fonction qui change la couleur du background lorsque l'évenement est déclancher*/ item.forEach(x => x.onclick = myFunc) function myFunc() { let bgColor = '#' + Math.random().toString(16).substr(-6); this.style.backgroundColor = bgColor; }
Bonjour,
surprenant ton message d'erreur attendu que tu n'affectes pas de textContent dans le code que tu montres !?!
Remarques :
• Comme tu déclares des variables globales, touts les appels à tes fonctions agiront sur ces variables donc tu n'auras pas de multi-chrono.
• Regarde à créer un objet/une class chrono.
Les classes et objet c'est nouveau pour moi en JS, vous pouvez me refaire cet exemple avec cette méthode s'il vous plait ?, ça m'aidera beaucoup à comprendre l'orienté objet JS.
Tu trouveras des exemples dans au moins ces deux discussions :
Pour plus d'infos, il existe au moins :
- Syntaxe de base de la Classe, sur javascript.info ;
- Les Classes, sur MDN.
... qui reste très abordables
N'hésite pas si tu rencontres des obstacles![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager