Bonjour à tous,
J'essaye depuis ce matin a actualiser mes secondes afin de donner l'heure de façon fluide mais en vain. En débuggant je remarque que mon setInterval fonctionne mais que ma méthode m'affiche statiquement la même heure. Pouvez vous m'aiguiller sur mon erreur ?
Voici mon code :
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 class Time{ constructor(container){ this.container = document.getElementById(container); this.time = new Date(); this.hours = this.time.getHours(); this.minutes = this.time.getMinutes(); this.secondes = this.time.getSeconds(); this.setTime = null; this.showTime(); this.sayHello(); this.secondsItervall(); } showTime(){ this.container.innerHTML = `${this.hours} : ${this.addZero(this.minutes)} : ${this.addZero(this.secondes)}`; console.log(this.container.innerHTML) } secondsItervall(){ this.setTime = setInterval(() => {this.showTime()}, 1000); } sayHello(){ let day = document.getElementById("day"); let night = document.getElementById("night"); if((this.hours >= 7) && (this.hours <= 18)){ night.style.display="none"; } else{ day.style.display = "none"; } } addZero(min_sec){ return (parseInt(min_sec,10) < 10 ? "0": "") + min_sec; }
Partager