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

JavaScript Discussion :

[POO] Soucis avec onmousseover / onmousseout


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 76
    Par défaut [POO] Soucis avec onmousseover / onmousseout
    Bonjour a toutes et a tous,

    J'ai un petit soucis avec les focntions onmousseover et onmousseout.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div>
    	<object data="images/1.png" onmouseover="this.data='images/1_MO.png'"; onmouseout="this.data='images/1.png'"></object><br/>
    	<object data="images/2.png" onmouseover="this.data='images/2_MO.png'"; onmouseout="this.data='images/2.png'"></object>
    </div>
    Le résultat que j'obtiens est le suivant:

    L'image clignote sans arrêt. Lorsque je passe ma souris sur mon image elle se met a clignoter entre la première et la seconde image, elle ne s'arrête jamais.

    Quelqu'un aurait-il une solution a mon problème ?
    Devrais-je écrire mon code autrement ?

    Merci d'avance à tous et bonne soirée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    C'est très simple, chaque objet doit avoir un ID différent sinon, il l'interprète comme si c'était le même ID partout, d'où le switch entre les images.

    Yroubag

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    pourquoi utilises-tu la balise object (attention il y a des ";" qui se baladent dans la balise ouvrante) ?
    Utilise la balise img :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div>
    	<img src="images/1.png" onmouseover="this.src='images/1_MO.png'" onmouseout="this.src='images/1.png'" /><br/>
    	<img src="images/2.png" onmouseover="this.src='images/2_MO.png'" onmouseout="this.src='images/2.png'" />
    </div>

    Citation Envoyé par yroubag
    C'est très simple, chaque objet doit avoir un ID différent sinon, il l'interprète comme si c'était le même ID partout, d'où le switch entre les images.
    Un id différent . Dans ses balises il n'y a pas d'attribut id, mais data. Dans ce cas this désigne l'objet qui génère l'événement, il n'y a donc pas d'erreur dans le code si ce n'est que les balises utilisées ne sont pas les bonnes.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 76
    Par défaut
    En effet merci !!! ça fonctionne mais il y a quelque chose qui ne fonctionne pas... enfin que je ne comprend pas.

    Tu me dit de ne pas mettre de ";" mais si je n'en met pas, aptana me dit que j'ai une erreur du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Il manque ';' avant une instruction      ligne 159
    erreur de syntaxe     ligne 160
    En sachant que la ligne 159 c'est bien ma ligne qui contient mon image.

    Donc que dois-je faire?
    Dans les deux cas cela fonctionne mais ...

    En tout cas merci !!

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    ton ";" était en dehors de l'instruction javascript.
    Exemple :
    - Erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src="images/1.png" onmouseover="this.data='images/1_MO.png'"; onmouseout="this.data='images/1.png'" />
    - Pas d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src="images/1.png" onmouseover="this.data='images/1_MO.png';" onmouseout="this.data='images/1.png'" />
    tu vois la différence ?
    L'instruction javascript se trouve après l'événement et entre guillemets.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 76
    Par défaut
    A ouaiiiiiiiii !!! d'accord ! merci beaucoup !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Souci avec la fonction SetTimeOut
    Par talrashha dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 14/09/2008, 20h25
  2. [POO] Souci POO avec php 4
    Par naunau dans le forum Langage
    Réponses: 7
    Dernier message: 12/12/2006, 13h23
  3. [POO] [objet php 5] petit soucis avec $this
    Par estacado dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2006, 10h51
  4. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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