Salut tous le monde.
J'ai besoin de votre aide. Je me met � la POO en JS et j'ai un petit soucis, je m'explique. Je cr�e une instance de ma classe au d�but de la page. Ensuite, au clique sur un lien j'appelle 2 fonctions de cette instance, sans soucis tout fonctionne.
Par contre dans ma fonction ScreenImage, j'associe la fonction CloseGalery de l'objet courant (this) � un lien. A l'usage quand je clique sur ce lien, la fonction CloseGalery est belle-et bien lanc� mais this ne pointe pas sur mon instance de classe, mais sur ma page. Du coup tout les attributs (ceux d�finit das ma ImageGalery tel que CurrentImageIndex ) que je souhaite utiliser dans CloseGalery son undefined
Je pr�cise que le code ci-dessous, est totalement �pur�. L'id�e �tant de cr�er une classe qui permettra de g�rer un affichage d'image. Je n'ai pas tout mis le code pour all�ger le poste et que �a soit plus clair.
Ma clase ImageGalery
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 function ImageGalery(p_ImageTable) { //Propriété this.ImageTable = p_ImageTable; this.CurrentImageIndex = 0; this.BackgroundDiv = null; this.ScreenBackground = function() { } this.ScreenImage = function(ImageIndex) { this.LinkClose = document.createElement('A'); this.LinkClose.onclick = this.CloseGalery; } this.CloseGalery = function() { alert("this de type ImageGalery : " + (this instanceof ImageGalery)); // Affiche FALSE } }
Code de cr�ation de mon instance.
L'appelle au 2 fonctions qui fonctionne.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 var ImageList = new Array(); ImageList[0] = new Array("Upload/aspqvnturspqeft.JPG","Cage Assenseur"); ImageList[1] = new Array("Upload/bpqewkdajghmfkd.JPG","Maison chintoq"); ImageList[2] = new Array("Upload/cuijxyvfkdasxqe.JPG","Batiment rond"); ImageList[3] = new Array("Upload/fklijpqmwclisxh.JPG","Toit"); var MyGalery = new ImageGalery(ImageList);
J'esp�re que vous pourrez m'aid�, j'ai essay� de trouv� ma r�ponse dans les tuto sur la POO en JS, mais en vain.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 <A href="#" onClick="{MyGalery.ScreenBackground();MyGalery.ScreenImage(0);}"> <IMG src="Upload/aspqvnturspqeft.JPG" width=100px height=100px> </A>
D'avance merci.
Partager