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 :

Rollover qui ne fonctionne pas ?


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 31
    Points
    31
    Par défaut Rollover qui ne fonctionne pas ?
    Bonjours à tous et toutes,
    En fait j'essaye de créer un effet de Roll over en javascript mais celui-ci ne fonctionne que sur la première image.
    Pourquoi donc ??

    Code javascript:

    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
    <script>
    monrollover = new Image();
    monrollover2 = new Image();
    monrollover3 = new Image();
    monrollover4 = new Image();
    monrollover5 = new Image();
    monrollover6 = new Image();
    monrollover7 = new Image();
    monrollover8 = new Image();
    monrollover9 = new Image();
    monrollover10 = new Image();
    monrollover11 = new Image();
    monrollover12 = new Image();
    monrollover.src = "article_small_one_hover.png";
    monrollover2.src2 = "article_small_two_hover.png";
    monrollover3.src3 = "article_small_three_hover.png";
    monrollover4.src4 = "article_small_four_hover.png";
    monrollover5.src5 = "article_small_five_hover.png";
    monrollover6.src6 = "article_small_six_hover.png";
    monrollover7.src7 = "article_small_seven_hover.png";
    monrollover8.src8 = "article_small_height_hover.png";
    monrollover9.src9 = "article_small_nine_hover.png";
    monrollover10.src10 = "article_small_ten_hover.png";
    monrollover11.src11 = "article_small_eleven_hover.png";
    monrollover12.src12 = "article_small_twelve_hover.png";
    </script>
    Code html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <dt onclick="clicMenu('1');" id="itemmenu1"><a href="#" onmouseover="monrollover.src='article_small_one_hover.png';" onmouseout="monrollover.src='article_small_one.png';"><img src="article_small_one.png" alt="terrain" name="monrollover"/></a></dt>
     
    <dt onclick="clicMenu('2');" id="itemmenu2"><a href="#" onmouseover="monrollover2.src2='article_small_two_hover.png';" onmouseout="monrollover2.src2='article_small_two.png';"><img src="article_small_two.png" alt="terrain" name="monrollover2"/></a></dt>
    Et ainsi de suite jusqu'au 12ème.

    Merci pour vos futures réponses.

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,
    pourquoi ne pas faire plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script language="JavaScript" type="text/javascript">
    function changeImage(name, url) {
      if (document.images[name]) {
        document.images[name].src = url;
    }
    </script>
    <img 
      name="myImage"
      src="inactive.gif"
      onmouseover="changeImage('myImage', '<image1>');"
      onmouseout="changeImage('myImage', '<image2>');" />
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par thes32 Voir le message
    salut,
    pourquoi ne pas faire plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script language="JavaScript" type="text/javascript">
    function changeImage(name, url) {
      if (document.images[name]) {
        document.images[name].src = url;
    }
    </script>
    <img 
      name="myImage"
      src="inactive.gif"
      onmouseover="changeImage('myImage', '<image1>');"
      onmouseout="changeImage('myImage', '<image2>');" />
    Merci pour ta réponse.
    J'ai fais ce que tu m'as dis de faire, et cela ne fonctionne pas.
    C'est bien cela que je dois obtenir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language="javascript" type="text/javascript">
     
    function changeImage(name, url) {
      if (document.images[name]) {
        document.images[name].src = url;
    }
    </script>
     
     
    <a href="#"><img src="article_small_one.png" onmouseover="changeImage('myImage','article_small_one_hover.png');" onmouseout="changeImage('myImage','article_small_one.png');" alt="terrain" name="myImage"/></a>
    Bon si j'ai fais une bêtise on ne se moque pas. Je suis plus que débutant.
    En tout cas merci de ton aide.

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 649
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 649
    Points : 11 138
    Points
    11 138
    Par défaut
    et comme ceci ?

    Code html : 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
     
    <html>
     
    <script type="text/javascript">
    <!--
    function changeImage(objImg, nomImg) 
    {
      objImg.src = nomImg;
    }
    //-->
    </script>
     
    </head>
     
    <body>
     
    <a href="#"><img src="article_small_one.png" onmouseover="changeImage(this,'article_small_one_hover.png');" onmouseout="changeImage(this,'article_small_one.png');" alt="terrain" /></a>
     
     
    </body>
     
    </html>

    par rapport au code de thes32 : le premier argument de la fonction n'est pas l'attribut name de l'image mais directement l'objet déclenchant les événements (this).

    doncho23 : sinon tu n'as pas oublié de préciser le chemin des images ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 31
    Points
    31
    Par défaut
    Merci !!!!! Trop bien.

    Mon problème est résolu mais j'aurais aimé une dernière chose, c'est lorsque l'on clique sur un des liens l'image hover reste et il n'y aurais plus moyen de cliquer sur celui-ci, mais que lorsque que l'on clique sur un autre des liens il redevienne actif.
    Ce serais pour moi une façon de définir que le lien est fonctionnel.

    Voilà j'en profite car cela semble assez simple pour vous.
    Tandis que moi je galère.

    En tout cas SUPER FORUM.
    Trop rapide!!!

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 649
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 649
    Points : 11 138
    Points
    11 138
    Par défaut
    Quelque chose comme ceci ? Le fichier zip contient le code HTML, JS, et CSS ainsi que des images pour l'exemple.

    J'ai supprimé les liens <a> (qui ne sert pas a priori) et j'ai ajouté l'événement onclick dans les balises img.
    Tu as juste à changer le nom et le chemin des images (dans l'attribut src et le second arguments des fonctions appelées dans le onmouseover et onmouseout)
    Fichiers attachés Fichiers attachés

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 31
    Points
    31
    Par défaut
    , t'es un DIEU mdr.
    Et bien que dire mis-à-part MERRRRCCCCCCIIIII.
    Merci à tous.

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

Discussions similaires

  1. un rollover qui ne fonctionne pas
    Par sam01 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/07/2006, 13h15
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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