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 :

changer la couleur des liens


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut changer la couleur des liens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="<?=$tab_menu[$i][1]?>" class="menug2" id="<?php echo $i; ?>" onfocus="document.GetElementById('1').style.color='#C90000;'">&nbsp;<?=$tab_menu[$i][0]?></a>
    Je voudrais que lorsqu'on clique sur le lien ça change de couleur mais si on clique sur un autre, ce lien récupère sa couleur d'avant.
    Je pense que je doit utilisé les évènement onfocus (ou onclick) et onblur.
    Mais mon code JS doit être faux.

    Pouvez m'aider.

    Merci

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Fait plutot un this.style.Color='#HEBABE' sur l'évènement onClick, mais tu va surement avoir un conflit avec le css..

  3. #3
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    ça marche pas, je dois surement avoir un conflit avec la feuille CSS.
    Et comment régler ce problème de conflit ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    vire le class ...

  5. #5
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    J'ai viré le class et là c'est la catastrophe : ça ne marche pas (le onclick) et en plus je perd tout mon style.

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Pour m'amuser, j'ai codé ton truc, dans l'évènement onLoad j'ai mit le lien à activer par défaut ( si tu changes de page, ce qui risque d'arriver ).

    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
     
    <html>
    <head>
    <script language="JavaScript">
      var lastLinkId = "";
     
      function ChangeLinkColor(aLinkId) {
        if(lastLinkId != "") document.getElementById(lastLinkId).style.color="#FF0000";
        document.getElementById(aLinkId).style.color="#0000FF";
        lastLinkId = aLinkId;    
      }  
    </script>
    </head>
    <body onLoad="ChangeLinkColor('lien3')">
    <a id="lien1" href="#" style="color:#ff0000" onClick="ChangeLinkColor(this.id);">Un lien</a>
    <a id="lien2" href="#" style="color:#ff0000" onClick="ChangeLinkColor(this.id);">Un lien</a>
    <a id="lien3" href="#" style="color:#ff0000" onClick="ChangeLinkColor(this.id);">Un lien</a>
    <a id="lien4" href="#" style="color:#ff0000" onClick="ChangeLinkColor(this.id);">Un lien</a>
    </body>
    </html>

  7. #7
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Merci, je testerais demain.

    Sinon, j'ai un alert(this.style.Color); dans le onclick et on m'affiche "undefined".

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    LOL Kilv
    passer this.id en paramètre pour faire un document.getElementById

    autant passer this tout court

  9. #9
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Et tu ferais comment si c'est un autre élément qui change la couleur du lien ?
    Et pour le body onLoad ?

  10. #10
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    En fait je voulais passer uniquement 'lien3' tout simplement dans le onLoad mais j'ai rajouté du code inutile ( document.getElementById('lien3').id == 'lien3' )

    J'ai changé le code pour que ce soit plus évident

  11. #11
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    J'ai un peu simplifié le code et ça marche, merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language="JavaScript">
      function ChangeLinkColor(aLinkId) 
      {	
        document.getElementById(aLinkId-1).style.color="#C90000";
      } 
    </script>

  12. #12
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut


    Tu vas forcément avoir une erreur avec ton script, car le -1 ne marchera pas pour le premier id, de plus avec ta technique il faudrait que tes id soient des chiffres uniquement, donc attention !

  13. #13
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Oui mes idées sont que des chiffres et ça pose quel problème ?

    Sinon aLinkId a une valeur minimum de 1 donc pas de -1.

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    je sais plus ou j'ai lu qu'il fallait éviter des id numériques ...
    et je ne sais plus non plus pourquoi ...

  15. #15
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Je suppose qu'un des problèmes lié aux id numériques est qu'un opérateur "+" peut être interpreté comme une addition, alors que ce n'est pas forcément le comportement voulu

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    y'a toujours l'astuce de multiplier par 1 pour obtenir du numérique et de faire un .concat pour une chaine ...

  17. #17
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Oui c'est vrai, mais ça peut impliquer une modification plus ou moins couteuse de scripts déjà existants et une certaine lourdeur ( un concat est plus lourd qu'un '+' ), mais sinon je ne vois pas trop en quoi l'id pourrait poser un problème en étant numérique, hmm peut-être que certains id internes sont déjà en numérique ?

  18. #18
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Oui mais dans mon cas, pas de pb

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    je sais pas kil, peut être aussi un problème de validité w3c ?

  20. #20
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Pour le savoir je pense qu'il faudrait comprendre le fonctionnement en interne de l'attribution des id aux différents éléments d'une page, d'ailleurs à ce propos ( je le dis bien que ce soit hors sujet par rapport au thème principal de ce post ) j'ai découvert que dans firefox, il y a une fonction qui permet de voir la structure arborescente de la page, Menu Tools, Dom Inspector, raccourci clavier "CTRL+SHIFT+I" !

    Assez interessant comme découverte

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Changer la couleur des liens non visité
    Par clairetj dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 11/07/2011, 14h42
  2. Changer la couleur des onglets de pagecontrol
    Par Death83 dans le forum C++Builder
    Réponses: 13
    Dernier message: 09/10/2005, 12h11
  3. [HTML] changer de couleur de lien....
    Par erwan_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/09/2005, 23h50
  4. couleur des liens
    Par allowen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/03/2005, 12h04
  5. [NetBeans] Changer la couleur des commentaires
    Par Lorenzox dans le forum NetBeans
    Réponses: 3
    Dernier message: 15/12/2004, 08h50

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