[js] pb de reference objet avec setInterval

pb de reference objet avec setInterval [js] - HTML/CSS - Programmation

Marsh Posté le 04-06-2004 à 16:55:02    

Salut, voila mon petit probleme.  
j'ai fais une classe en javascript: une classe scrollbar.
or dans cette classe je veux faire un setInterval avec une fonction de la classe.
alors je commence a faire ça:

Code :
  1. this.processus = window.setInterval("this.up()",1);


 
mais ça marche pas  
alors ensuite j'ai fais ça: j'ai creer une instance de ma classe appeler "scrollbar";
 

Code :
  1. this.processus = window.setInterval("scrollbar.up()",1);


et ça, ça marche. alors quel est le probleme???
et bah simplement mon objet est alors obligé de s'appeler scrollbar: pas super reutilisable donc.
 
j'ai donc mis le nom de l'instance en paramettre de ma classe.  
 
c deja mieux, mais pas top. car si une autre variable pointe sur l'objet  
ça plante, ( moins de changer le nom en meme temps, mais c'est pas commode)
 
Donc ma question est: "Il y a t'il un moyen d'avoir un truc plus propre"
Un trucs qui respecte plus les principes de la programmation orienté objet :)
 
voila merci d'avance  

Reply

Marsh Posté le 04-06-2004 à 16:55:02   

Reply

Marsh Posté le 06-06-2004 à 23:20:06    

this.processus = window.setInterval(this.up,1);

Reply

Marsh Posté le 07-06-2004 à 13:57:36    

si ça avais été ça, ça aurais été simple. mais non ça marche pas j'ai testé :)
enfoin merci quand meme.  
 
j'ai finallement opter pour une autre solution.  
 
j'ai creer des function en dehors de mon objet et je fais un appel de celle ci dedans.  
 
On a vu plus propre mais j'ai pas trouvé mieux.

Reply

Marsh Posté le 15-05-2008 à 12:04:32    

il y a cette solution :
 

var ref;
fct=function(id)
{
   clearInterval(timer);
   ref=this.getElementsById(id)[0];
   ref.variable=0;
   timer=setInterval("ref.variable++;",20);
}

Reply

Marsh Posté le 15-05-2008 à 12:05:19    

(désolé pour le retard.......)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed