Bonjour,
Je programme depuis peu sous JS , et je rencontre un problème. Je cherche à créer un chronomètre inversé (qui commence à 2min jusqu'à 00:00 par exemple).
J'aimerai faire ça dans une "classe". J'utilise donc le code suivant:
Et dans mon fichier main.js :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 (function(){ // Constructeur Chrono = function(t) { this.time = t; } // classe Chrono Chrono.prototype = { start : function() { setInterval(this.diminuerTemps, 1000); }, pause : function(){ //mettre en pause le chrono }, diminuerTemps : function(){ console.log("Time : ", this.time); this.time-= 1000; console.log("Time : ", this.time); } } }());
Code:
1
2
3 var timer = new Chrono(10000); timer.start();
Pour l'instant je ne fais que des tests donc. Mais j'obtiens d'abord "undefined" et ensuite "NaN" ( ce qui est logique si this.time vaut undefined) dans la console. J'ai fait le test dans le constructeur de chrono et là j'arrive très bien à accéder à la valeur de this.time.
Le problème est donc que je n'arrive pas à acceder à cette valeur depuis ma méthode diminuerTemps. Je ne comprends pas pourquoi , pouvez vous m'aider ?
Merci d'avance.