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 :

Couleur du lien en cours


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut Couleur du lien en cours
    Je chercher à modifier la couleur du lien de ma page en cours.
    Exemple :

    J'ai une page archives, avec 3 liens en bleu dedans, 2005, 2006, 2007.

    Si je clique sur 2005 je veux que le lien 2005 devienne rouge, puis si je clique sur 2006 je veux que le lien 2005 redevienne bleu et que le lien 2006 passe rouge, etc ...

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    C'est en Javascript que ça se fait :
    Code Javascript : 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
    <!--
    window.onload=colore_lien_courant;
     
    //fonction qui permet de ne pas pouvoir cliquer sur un lien pointant sur la page actuelle
    function colore_lien_courant()
    {
    	//on récupère tous les liens de la page
    	var AllLinks=document.getElementsByTagName('a');
    	//récupère la sous-chaine entre le début de l'URL et le dernier "/" ou "php" (=adresse sans paramètre GET)  
    	//exemple : http://www.mpl.ird.fr/IS/contacts/?lang=fr# retournera http://www.mpl.ird.fr/IS/contacts/
    	var cut=Math.max(document.location.href.lastIndexOf('/'),document.location.href.lastIndexOf('php'))+1;
    	for(i=0;i<AllLinks.length;i++)//pour chaque lien
    	{
    		AllLinks[i].onfocus=function(){this.blur()} //supprime les pointillés autour d'un lien déjà cliqué
    		//comparaison entre lien pointé et page actuelle
    		if (AllLinks[i].href == document.location.href.substring (0,cut))
    		{
    			AllLinks[i].style.color='#f00';//on change la couleur
    		}
    	} 
    }
    //-->
    C'est ça que tu hcerches

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Je m'excuse mais je ne m'y connais pas trop en javascript.

    Pourrais tu me dire ou il faut mettre cette ligne ? :
    window.onload=colore_lien_courant;

    Merci d'avance

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Tu te crées un fichier .js (par exemple colore.js), tu colles tout le code que je t'ai donné dans ce fichier et dans le head de ton HTML tu fais :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="JavaScript" src="le_chemin_vers_ton_fichier/colore.js" type="text/javascript"></script>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Ca ne marche pas, je n'ai aucune erreur mais rien ne se passe :/

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Dans ton le code javascript, remplace :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var AllLinks=document.getElementsByTagName('a');
    par
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var AllLinks=document.getElementsByTagName('A');

    Si cela ne marche toujours pas, montre le code HTML que tu utilises pour voir?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Ca ne marche toujours pas.

    En fait j'ai une page menu qui englobe ma bannière et mon menu a gauche.
    Et j'apelle cette page menu dans toutes mes autres pages.

    Dans ma page menu j'ai ce code :

    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
    <? 
      require("declaration.php");
      require("gestionmenu.php");
      require("connexion.php");
      session_start();
    ?>
     
    <html>
      <head>
       <LINK rel="stylesheet" type="text/css" href="style.css">
         <title>Site de ...</title>
    	<script language="JavaScript" src="lien.js" type="text/javascript"></script>
      </head>
     
    <body bgcolor='#DDDDDD' link='white' alink='white' vlink='white'> ...
    Dans ma page lien.js j'ai le code que tu m'a donné.

    Et dans ma page activité par exemple j'ai des liens de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<table border="0" width='100%'>
    	  <tr>
    	  <td width="33%" height="25%" align="center">
    			<a class="lienact" href='restaurants.php'>Restaurants</a>
    	  </td>
    	  <td width="34%" height="25%" align="center">
    			<a class="lienact" href='hebergement.php'>Hebergement</a>
    	  </td>	...
    J'ai essayé d'enlever mes class css dans mes <a>, j'ai egalement essayer de mettre la phrase de script dans ma page activité, mais rien n'a marché :/

  8. #8
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Essaie plutôt comme ça :
    Code Javascript : 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
    <!--
    window.onload=colore_lien_courant;
     
    //fonction qui permet de ne pas pouvoir cliquer sur un lien pointant sur la page actuelle
    function colore_lien_courant()
    {
    	//on récupère tous les liens de la page
    	var AllLinks=document.getElementsByTagName('a');
     
    	for(i=0;i<AllLinks.length;i++)//pour chaque lien
    	{
    		if (AllLinks[i].href == document.location.href)
    		{
    			AllLinks[i].style.color='#f00';//on change la couleur
    		}
    	} 
    }
    //-->

    PS : au sujet de ton code :
    - fais ton session_start() avant tes includes (afin d'être sur qu'il soit toujours pris en compte)
    - dans le code HTML, mets toutes tes balises en minuscules et fermes les toutes (mêmes link)
    - défini un doctype (XHTML transitional est le "mieux" )
    - sépare le contenu et la mise en page (utilise des CSS plutôt que de mettre des attributs à tes balises)
    - mets tes attributs entre guillemets (pas entre apostrophes)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Merci pour tes conseils que j'ai commencé a suivre !

    Mais pour mes liens ca ne marche toujours pas, ils ne changent pas de couleurs quand je suis sur la page correspondante. :/

  10. #10
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    tu es sur que tu inclus bien le fichier Javascript, que ton lien est bon ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Voila que ca marche, il fallait surement redemarer easy php ...

    Merci beaucoup a toi

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

Discussions similaires

  1. change le couleur de lien en cours
    Par ishere11 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 04/01/2011, 17h31
  2. changer la couleur des liens
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 21/09/2005, 12h01
  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. changer couleur du lien au passage de la sourie
    Par toome dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/08/2005, 10h11
  5. couleur des liens
    Par allowen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/03/2005, 12h04

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