Actualiser les secondes en JS
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:
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;
} |