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:

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
(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);
	}
    }
}());
Et dans mon fichier main.js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.