Citation:
donc: temps restant du chrono = nb de ms depuis le 1er janvier 1970 + durée du chrono en ms
Non temps de fin du chrono, indirectement heure de fin, pas temps restant.
Citation:
Ensuite la variable iTimer contenant la valeur 'null' (c'est à dire aucune valeur) est égale à la fonction setInterval qui va
pas exactement la méthode setInterval renvoi une valeur identifiant le timer ce qui permet de le « clearer » avec clearInterval.
Citation:
(toute les 1000ms, action)
Non setInterval n'est appelé qu'une seule fois pour assurer la répétition de l'événement contrairement à setTimeout.
Citation:
Ensuite la fonction stopTimer va stopper la répétition à interval régulier de decompteTimer (donc stopper le chrono)
Non elle scratch le timer qui arrêtera de ce fait ses appels consécutif.
Citation:
Si j'ai bien compris , la fonction math.ceil retourne le plus petit entier supérieur ou égal au nb donné (ref: MDN)
Oui cela permet d'afficher, par exemple 04s, et non 03s quand il reste 3.25s au compteur.
Citation:
donc tu as fais: temps restant = (temps restant à la fin du chrono en ms - le nb de ms depuis le 1er janvier 1970) / 1000. (je suppose que la division par 1000 est pour retrouver une valeur en seconde (ms / 1000)
Donc s'il reste 15 minutes au chrono, tu calcul le temps restant (15 minutes) moins le nb de ms depuis le 1er janvier 1970 ? (donc par ex 15 min - 290348534905384ms ?)
(Si je me trompe dans ma formulation merci de me corriger)
Non
- this.timeEnd est le nombre de ms qu'il y a entre le 01/01/1970 et la fin du chrono
- Date.now() est le nombre de ms qu'il y a entre le 01/01/1970 et le moment où on lit cette valeur
la différence donne donc bien le temps restant en ms, c'est le pourquoi de la division par 1000 puisque l'on parle en seconde.
Citation:
si le temps restant est supérieur à 0, tu calcules le reste de la division entre le temps restant / 3600, le tout divisé par 60 (par contre je n'ai pas compris le 10, et le slice(-2), j'ai regardé, mais je n'ai pas compris l'utilisation de slice dans ce cas.
C'est une façon comme une autre de pour obtenir un format 00:00:00,
- "00" + 9 va donner "009" et si je fais un slice(-2) je garde "09" ;
- "00" +10 va donner "019" et si je fais un slice(-2) je garde "10" ;
- "00" +120 va donner "120" et si je fais un slice(-2) je garde "20" ;
etc.
tu peux si cela ne te correspond pas revenir à une écriture plus simple du type
Code:
1 2 3
| if (val) < 10) {
val = "0" + val;
} |
Citation:
Est -ce que la fonction date.now() n'est pas en réalité le fuseau horaire actuel c'est à dire par ex: 30/06/20 , 11:10 et 34 secondes ?
Non reprend la définition.
Citation:
Envoyé par MDN
La méthode Date.now() renvoie le nombre de millisecondes écoulées depuis le 1er Janvier 1970 00:00:00 UTC.
J'espère ne rien avoir oublié !
Nota :
dans const s = ("00" + parseInt(Math.ceil((reste % 3600) % 60), 10)).slice(-2); le Math.ceil ne sert à rien, je corrige,déjà fait plus haut.