IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

[POO] Evénement et variables


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 194
    Par défaut [POO] Evénement et variables
    bonjour

    j'ai un petit probleme au niveau (il me semble) de la portée des variables avec l'utilisation de prototype.js.

    voici mon code :
    (j ai commenté l'endroit ou sa bug)

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    window.onload = initEvent;//apres le chargement on initialise les evenements
     
     
    function initEvent()
    	{//initialise tout les evenements du document
    	initLien();
    	}//initEvent
     
    function initLien()
    	{
    	//liste des id des objet de type lien
    	var liste_lien = new Array();
    	liste_lien[0] = "menu-gauche-accueil";	
    	liste_lien[1] = "menu-gauche-flotte";	
    	liste_lien[2] = "menu-gauche-ecole";	
    	liste_lien[3] = "menu-gauche-acces";	
    	liste_lien[4] = "menu-gauche-bapteme";	
    	liste_lien[5] = "menu-gauche-photo";	
    	liste_lien[6] = "menu-gauche-video";	
    	liste_lien[7] = "menu-gauche-ident";	
    	liste_lien[8] = "menu-gauche-lien";	
    	liste_lien[9] = "menu-gauche-contact";	
     
            //------>PROBLEME ICI
    	for(s=0;s<liste_lien.length;s++)
    		{
    		Event.observe(liste_lien[s],"mouseover",function()
    				{
    				alert(s);//------> sa m'affiche "s" (donc 1, 2,3...)
    				alert(liste_lien[1]);//------> sa m'affiche "menu-gauche-flotte"
    				alert(liste_lien[s]);//------> sa m'affiche "undefined"
     
    				lienOver(liste_lien[s]);
    				}
    		);
     
    		Event.observe(liste_lien[s],"mouseout",function()
    				{
    				lienOut(liste_lien[s]);
    				}
    			);			
    		}
     
    	}
     
    function lienOver(telId)
    	{//objet se comportement comme un lien
    	setStyle("color",COLOR_OVER,telId);	
    	}//lienOver
     
    function lienOut(telId)
    	{//objet se comportement comme un lien
    	setStyle("color",COLOR_OUT,telId);		
    	}//lienOver
    je vois pas trop pourquoi sa bug sur le 3eme alert();
    Avez vous une solution?

    merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut,

    Il me semble que la fonction de callback prends en paramètre un objet dont la propriété target est l'élement impliqué dans l'évenement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Event.observe(liste_lien[s],"mouseover",function(event) {
      lienOver(event.target);
    });
    En revanche je ne comprends pas bien pourquoi tu n'utilises pas la pseudo-classe hover en CSS pour changer le style de tes liens quand on survole avec la souris

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 194
    Par défaut
    il me semblais que le "hover" ne fonctionnais pas sur une balise autre que <a> sur IE.

    je vais essayer ce que vous me dites...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Par défaut
    La variable 's' est peut-être traitée comme un String et non un nombre.
    alert(liste_lien[s]); serait donc équivalent à alert(liste_lien['1']); qui bien entendu n'existe pas !
    A tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(liste_lien[parseInt(s, 10)]);

Discussions similaires

  1. [POO] petite khôle variable ecrasée
    Par jeff_! dans le forum Langage
    Réponses: 5
    Dernier message: 01/02/2006, 21h13
  2. Réponses: 2
    Dernier message: 17/12/2005, 20h52
  3. [POO] Portée des variables, classe....
    Par Avatar dans le forum Langage
    Réponses: 3
    Dernier message: 27/11/2005, 21h25
  4. [POO] Probleme de variable
    Par Azimel dans le forum Langage
    Réponses: 11
    Dernier message: 27/10/2005, 17h26
  5. Réponses: 6
    Dernier message: 23/09/2005, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo