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 :

Changement d'image d'un bouton au survol


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Points : 111
    Points
    111
    Par défaut Changement d'image d'un bouton au survol
    Bonjour à tous,

    Voilà, ayant a développer un site statique, j'aimerais opter pour des boutons du style menu horizontal de ce site : http://metal.nightfall.fr/

    Je ne sais pas trop comment faire pour que l'image de mes boutons changent au survol de la souris, si quelqu'un peut m'aider !
    Wear some golf shoes, otherwise we'll never get out of this place alive.

  2. #2
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    ce n'est pas du css mais du javascript.

    il utilise donc les attributs onmouseover et onmouseout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','images/sec_boite_rol.jpg',1)"
    et voici les deux fonctions javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
     
     
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

  3. #3
    Membre régulier Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Points : 111
    Points
    111
    Par défaut
    Donc pour mettre le nom de mon image sans survol, je dois changer Image1 de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','images/sec_boite_rol.jpg',1)"
    et l'image en survol images/sec_boite_rol.jpg ?
    A quoi correspond le 1 suivant ?
    Wear some golf shoes, otherwise we'll never get out of this place alive.

  4. #4
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    je suis pas trés fort en javascript donc je me lance pas dans la compréhension de son code.

    En revanche, voila exactement du meme code mais simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href="#" id="lien1" onmouseover="document.getElementById('image1').src='2.jpg';" onmouseout="document.getElementById('image1').src='1.jpg';">
                    <img src="1.jpg" id="image1">
                </a>
    Il te suffit de choisir les images que tu veux.
    Ceci est un bout de code qui te montre le changement d'image au survol.

    Ensuite, tu peux aussi faire ça d'une autre manière. exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('lien1').className='taclasse'
    Dans ce cas la, tu appliquera une classe css "taclasse" à ton élément
    Si dans cette classe, tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    background-image: url('tonimage.jpg');
    alors cela aura le meme effet

    n'oublie pas dans ce cas la d'enlever la classe pour le onmouseout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onmouseout="document.getElementById('lien1').className=''"
    en éspérant que ça t'ai aidé

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Personnellement je l'aurai fait en CSS tout en retirant les img et en utilisant la propriété background des a mais bon...

  6. #6
    Membre du Club Avatar de Raphael_Lemaire
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 66
    Points
    66
    Par défaut
    Salut,

    Je suis d'accord avec Kerod. Tu peux utiliser la propriété :hover en css (ne marche que sur les liens avec IE6, mais dans ton cas il s'agit de liens donc pas soucis). Les images de décor ne devraient pas apparaître dans le html.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a.menu {
        background-image: url(images/back-menu.jpg);
    }
     
    a.menu:hover {
        background-image: url(images/back-menu-light.jpg);
    }
    "Le sage ne compte pas les gouttes de la cascade, il cherche pourquoi l'eau désire retrouver la terre."

  7. #7
    Membre régulier Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Points : 111
    Points
    111
    Par défaut
    Merci bien a vous, j'ai pu tester les 2 solutions (javascript / css), elles marchent très bien !
    Wear some golf shoes, otherwise we'll never get out of this place alive.

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

Discussions similaires

  1. [JavaScript] Image map et changement de couleur de l'area au survol
    Par SpaceFrog dans le forum Contribuez
    Réponses: 25
    Dernier message: 20/08/2014, 05h23
  2. [XL-2007] changement d'image sur bouton
    Par andy.spit dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2012, 12h51
  3. changement de couleur d'un lien au survol d'une image
    Par arn123 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2006, 00h50
  4. [JBouton] Comment mettre une image sur un bouton ?
    Par Kyti dans le forum Composants
    Réponses: 6
    Dernier message: 11/03/2005, 16h08
  5. [FLASH MX2004] Changer l'image d'un bouton
    Par exe dans le forum Flash
    Réponses: 3
    Dernier message: 05/12/2004, 14h26

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