forcer la couleur des liens

forcer la couleur des liens - HTML/CSS - Programmation

Marsh Posté le 11-06-2008 à 08:48:12    

Bonjour à tous.
 
J'ai un petit souci :  
j'utilise le code ci dessous pour forcer les couleurs des liens de ma page :
 
<script type="text/JavaScript">
function look(idx){
var links = document.getElementsByTagName('a');//On créé un tableau comprenant tous les liens de la page.
for(var i=0;i<links.length;i++)
links[i].style.color = '#000000'; //On donne la couleur 000000 à tous les liens de la page.
idx.style.color ='#CC3300'; //On donne la couleur CC3300 au lien venant d'être cliqué.
}  
</script>
 
commandé comme ceci :
 
<div  align="right"><A HREF="PB6_001.html" target="iframe_photo" id="a" onClick="window.iframe_galerie.location.href='galerie_PB6.html'; look(this);">PB6</A></div>
 
----------------
petite précision :  
 
le but de mon code javascript de départ et de forcer la couleur des liens actifs pour que l'internaute puisse savoir ou il en est dans les différentes pages de mon site...
je n'est pas réussi autrement...
----------------
 
Ce code marche très bien...
tous les liens de ma page changent de couleur comme prévu : cependant, j'aimerai isoler 2 liens de cette même page afin qu'ils ne réagissent pas comme les autres...
Y-a-t-il une possibilité en partant de mon bout de code ci-dessus ?
 
mille mercis d'avance
 
-------------
J'ai deja essayé de créer un deuxième fonction nommée différemment mais ca ne marche pas...  
comme ceci :  
 
<script type="text/JavaScript">  
function look2(idx){  
var links = document.getElementsByTagName('b');//On créé un tableau comprenant tous les liens de la page.  
for(var i=0;i<links.length;i++)  
links[i].style.color = '#FFFFFF'; //On donne la couleur 000000 à tous les liens de la page.  
idx.style.color ='#CC3300'; //On donne la couleur CC3300 au lien venant d'être cliqué.  
}  
</script>
 
commandé par :
 
<div align="left"><A HREF="../voltige/voltige_liens.html" target="_self"  id="b" onClick="look2(this);">voltige</A></div>
   

Reply

Marsh Posté le 11-06-2008 à 08:48:12   

Reply

Marsh Posté le 11-06-2008 à 08:50:38    

Je précise que j'ai récupéré ce code et adapté par la suite à mon site :  
le fait est que le javascript n'est pas du tout mon fort...  
 
j'ai donc pu oublier de changer les noms de quelques paramètres de ma nouvelle fonction qui rentrerai peut être en conflit avec la première fonction... ?
encore merci

Reply

Marsh Posté le 11-06-2008 à 11:09:20    

Les fonctionnalites CSS suffisent pas a ton probleme ?

Code :
  1. /* liens */
  2. a:link { color:white;} /* lien non-visité */
  3. a:visited { color:white;} /* lien visité */
  4. a:hover { color: yellow;} /* lien survolé */
  5. a:active { color: yellow;} /* lien activé */

Message cité 1 fois
Message édité par krifur le 11-06-2008 à 11:09:42
Reply

Marsh Posté le 11-06-2008 à 11:19:55    

krifur a écrit :

Les fonctionnalites CSS suffisent pas a ton probleme ?

Code :
  1. /* liens */
  2. a:link { color:white;} /* lien non-visité */
  3. a:visited { color:white;} /* lien visité */
  4. a:hover { color: yellow;} /* lien survolé */
  5. a:active { color: yellow;} /* lien activé */



salut
 
merci, mais non car le but de la fonction javascript est de colorer le lien actif (de façon permanente) puis de le recolorer dans l'ancienne couleur lorsque l'on change de page (et donc colorer de facon permanente le nouveau lien cliqué) et ainsi de suite.
afin que l'internaute sache ou il se trouve grâce au code couleur.
la ligne a:active { color: yellow;} ne fonctionne qu'au moment du clique...
 
je viens de trouver la solution : (un peu "bourrin" mais ça marche) :
nommer chaque liens avec id="aa", id="bb", id="cc", id="dd"
puis remplacer fonction précedente par celle ci :
 
<script type="text/JavaScript">
function look(idx){
var aa =  document.getElementById("aa" );
var bb =  document.getElementById("bb" );
var cc =  document.getElementById("cc" );
var dd =  document.getElementById("dd" );
var linksa = aa.getElementsByTagName("a" );
var linksb = bb.getElementsByTagName("a" );
var linksc = cc.getElementsByTagName("a" );
var linksd = dd.getElementsByTagName("a" );
for(var i=0;i<linksa.length;i++)
linksa[i].style.color = '#000000';
idx.style.color ='#CC3300';  
for(var i=0;i<linksb.length;i++)
linksb[i].style.color = '#000000';  
idx.style.color ='#CC3300';  
for(var i=0;i<linksc.length;i++)
linksc[i].style.color = '#000000';  
idx.style.color ='#CC3300';  
for(var i=0;i<linksd.length;i++)
linksd[i].style.color = '#000000';  
idx.style.color ='#CC3300';  
}  
</script>

Reply

Marsh Posté le 11-06-2008 à 11:41:47    

Citation :

merci, mais non car le but de la fonction javascript est de colorer le lien actif (de façon permanente) puis de le recolorer dans l'ancienne couleur lorsque l'on change de page (et donc colorer de facon permanente le nouveau lien cliqué) et ainsi de suite.
afin que l'internaute sache ou il se trouve grâce au code couleur.
la ligne a:active { color: yellow;} ne fonctionne qu'au moment du clique...

 

hum c plutot a:visited { color:white;} /* lien visité */ qui s occupe de colorer de facon permanente le lien ( si il a ete cliquer) active ca change la couleur du lien au click effectivement mais c tout...

 

Tous tes liens ont une id différente ? tu peux ptet utiliser les classes si tu doit regrouper certains comportements...

 

Enfin bon si ca marche  :)

 



Message édité par krifur le 11-06-2008 à 13:12:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed