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 :

onmouseover - onmouseout


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut onmouseover - onmouseout
    Bonjour, j'ai un souci avec mon onmouseover.
    ça va pas être facile d'expliquer, je vai faire de mon mieux.

    J'ai un javascript onmouseover - onmouseout et je souhaite que l'image qui ce trouve dans onmouseover reste active aprés le clic de la souris.

    Voici le détail de mon script.

    <A onmouseover="changeImages('home','images/menu/b-home_over.jpg');return true" onmouseout="changeImages('home','images/menu/b-home.jpg');return true" href="#">
    <IMG height="50" alt="" src="images/menu/b-home.jpg" width="86"
    align="top" border="0" name="home"></A>

    Je sait le faire en CSS, mais pas en javascript.

    Avez vous une idée? J'ai utilisé la fonction rechercher mais c'est une telle jungle qu'au bout de quelque post j'ai laisser tombé.

    Merci d'avance.

    Foutix

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Pourrais tu poster le code de ta fonction JS ...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    J'ai un souci pour mettre le code source.

    Trop de caractère, il fait plus de 34960 caractères.

    Comment faire SVP

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Juste la fonction changeImages() ...

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Salut,

    utilise l'evenement onClick peut être que cela peut te permettre de faire ce que tu veux.

    Sinon mais le code de la fonction :
    changeImages

    Remarque:
    Si ta page en nombre de caractères est trop lourde. Pour la maintenance cela pourra aussi t'aider. Tu devrais peut être l'éclater un peu. Comme mettre le javascript à part ainsi que les feuille de style si ce n'est déjà fait.

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Re,
    Peut être une solution :
    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
     
    <script language="javascript" type="text/javascript">
    function changeImages(image) {
    document.images['home'].src = image ;
    }
     
    function fixeImages() {
    document.getElementById('img').innerHTML = '<a href="#"><img height="50" alt="" src="images/menu/b-home.jpg" width="86" align="top" border="0" name="home"/></a>' ;
    }
    </script>
    </head>
    <body>
    <div id="img" onclick="fixeImages();">
    <a onmouseover="changeImages('images/menu/b-home_over.jpg');" onmouseout="changeImages('images/menu/b-home.jpg');" href="#" ><img height="50" alt="" src="images/menu/b-home.jpg" width="86" align="top" border="0" name="home"/></a>
    </div>

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Citation Envoyé par jumano Voir le message
    Juste la fonction changeImages() ...
    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 changeImagesArray(array) {
    	if (preloadFlag == true) {
    		var d = document; var img;
    		for (i=0;i<array.length;i+=2) {
    			img = null; var n = array[i];
    			if (d.images) {
    				if (d.layers) {img = findElement(n,0);}
    				else {img = d.images[n];}
    			}
    			if (!img && d.getElementById) {img = d.getElementById(n);}
    			if (!img && d.getElementsByName) {
    				var elms = d.getElementsByName(n);
    				if (elms) {
    					for (j=0;j<elms.length;j++) {
    						if (elms[j].src) {img = elms[j]; break;}
    					}
    				}
    			}
    			if (img) {img.src = array[i+1];}
    		}
    	}
    }
    function changeImages() {
    	changeImagesArray(changeImages.arguments);
    }
    J pige que dalle

  8. #8
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Tu as testé le code que je t'ai donné ?

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Non mais je vais le faire de suite.
    Je supose que je doit renseigner les champs href="#" dans la function fixeImages pour que le code soit complet ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    je vient de testé ton code mais ça ne marche pas
    Dans le bas du navigateur il m'indique une erreur sur la page.

    Ne faut il pas rajouter un onload dans body ?

  11. #11
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Quel message as tu ?
    As tu bien rajouté des "div" ?

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Oui j'ai fait un copier coller dans mon code source.

    Ne faut il pas rajouter un onload dans body ?

  13. #13
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Non, ce n'est pas la peine ...
    Tu ne dois copier que la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function fixeImages() {
    document.getElementById('img').innerHTML = '<a href="#"><img height="50" alt="" src="images/menu/b-home.jpg" width="86" align="top" border="0" name="home"/></a>' ;
    }
    après ta fonction changeImages() originale, et ensuite mettre ton code dans une "div" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="img" onclick="fixeImages();">
    <A onmouseover="changeImages('home','images/menu/b-home_over.jpg');return true" onmouseout="changeImages('home','images/menu/b-home.jpg');return true" href="#">
    <IMG height="50" alt="" src="images/menu/b-home.jpg" width="86" 
    align="top" border="0" name="home"></A>
    </div>

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Ok, autant pour moi.
    Je n’avais pas compris qu’il fallait que je rajoute la fonction au reste du code.

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Désolé mais sans effet avec ton code.

    je vais peut être reprendre la question, je souhaite que le bouton ( b-home_over.jpg) reste actif lors ce que l'on a cliqué sur le bouton (pour avoir un visuel de la page visité)

    Pour avoir une idée voici le lien de mon site:
    Big Deal Music

    @+

  16. #16
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Le soucis vient du fait que lorsque l'on clique sur un des boutons de ton menu, la page se recharge donc il est évident que le code ne peut pas fonctionner dans ces conditions ...

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Ah.

    Y a t'il une solution a mon problème ?

  18. #18
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Alors dans ton cas .... .... on va devoir appeler la fonction dans la balise <body> avec un onload ...
    Par contre il faut modifier le code pour chaque page :
    Juste avant la fin de ta balise </head>, tu ajoute ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script language="javascript" type="text/javascript">
    function fixeImages() {
    document.getElementById('img').innerHTML = '<a href="#"><img height="50" alt="" src="'images/menu/b-home_over.jpg" width="86" align="top" border="0" name="home"/></a>' ;
    }
    </script>
    Tu dois donc modifier sur chaque page le "href="#" et la "src=".

    Ensuite tu mets entre "div" le lien qui correspond à la page sur laquelle tu te trouves :
    Donc pour la page index.html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="img">
    <A onmouseover="changeImages('home','images/menu/b-home_over.jpg');return true" onmouseout="changeImages('home','images/menu/b-home.jpg');return true" href="#">
    <IMG height="50" alt="" src="images/menu/b-home.jpg" width="86" 
    align="top" border="0" name="home"></A>
    </div>

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    je dois être null tu peux voir le résultat sur cette page, le bouton du bas (home)

    Big Deal Music

    je crois que je vais laisser comme ça

  20. #20
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Ca doit être du à la "div" que je t'ai fait ajouter ... je regarde et j'essaye de trouver sans rajouter de "div" ...

Discussions similaires

  1. Encore des onmouseover onmouseout imbriqués
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/03/2008, 10h53
  2. OnMouseOver, OnMouseOut et OnClick
    Par the.l666 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/12/2007, 09h45
  3. [ASP1.1]Utiliser onMouseOver/onMouseOut sur datagrid?
    Par Cervantes dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/05/2007, 13h33
  4. accès à onmouseover/onmouseout => changement de style
    Par tomy4ever dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/12/2006, 22h33
  5. onClick/onMouseOver/onMouseOut + <a href>+<img>
    Par lipczynski dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/11/2004, 14h53

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