Changer une couleur de fond avec javascript

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Changer une couleur de fond avec javascript

Message le Mer Juin 11, 2008 8:19

Bonjour !

J'aurais besoin de votre aide...
En fait, je voudrais que lorsque le curseur de la souris passe sur un lien, la couleur de fond d'un autre lien change...

Merci !
Dernière édition par numerodix le Mer Juin 11, 2008 9:15, édité 1 fois.


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: 28 Juil 2003

Message le Mer Juin 11, 2008 9:04

Code: Tout sélectionner
document.getElementById(obj).style.backgroundColor = "red";

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 9:08

Merci beaucoup !
J'essayais avec bgColor, mais ça ne fonctionnais pas !
Par contre, maintenant j'essaye de modifier la couleur du lien, et je voudrais ajouter une bordure a droite et a gauche...

Ma fonction ressemble à ça :

Code: Tout sélectionner
<script type="text/javascript">
<!--
function changebg(id) {
   var e = document.getElementById(id);

   if(e) {
      e.style.backgroundColor='#ffffff';
      e.style.fontcolor='#000000';
   }
}
-->
</script>


Edit : La couleur de fond ne revient pas normale lorsque la souris part du lien. J'ai pourtant ajouter
Code: Tout sélectionner
onmouseout=javascript:changebg('');


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: 28 Juil 2003

Message le Mer Juin 11, 2008 9:17

Il te faut gérer le 'else' de ton 'if(e)' ;)

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 9:28

J'ai rajouté un parametre qui vaut 1 quand il faut changer le backgroundcolor et qui est vide quand il faut le remettre normal :

Code: Tout sélectionner
<script type="text/javascript">
<!--
function changebg(id,a) {

      if (a == '') {
         document.getElementById(id).style.backgroundColor='';
         document.getElementById(id).style.fontcolor='';
      }
      else {
         var e = document.getElementById(id);
         e.style.backgroundColor='#ffffff';
         e.style.fontcolor='#000000';
      }

   }
-->
</script>



Par contre, pour la couleur de la police ça ne marche pas... Le fontcolor s'utilise bien comme ça ?


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: 28 Juil 2003

Message le Mer Juin 11, 2008 9:37

'style.color', pas 'style.fontColor' ;)

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 9:53

Ça ne marche pas non plus :(
J'ai essayé avec e.style.linkColor et la non plus la couleur de la police ne change pas...
Pour mettre ma bordure, e.style.borderLeft ne m'affiche pas la bordure a gauche :oops:


SuperCureuil
WRInaute impliqué
WRInaute impliqué
 
Messages: 673
Inscription: 9 Mar 2007

Message le Mer Juin 11, 2008 10:11

Salut,

Ya mais ce n'est pas parce que c'est du javascript que tu peux changer les noms de propriétés css :wink:

Pour ta bordure c'est style.border-left

Pour ton lien c'est style.color

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 10:34

SuperCureuil a écrit:Ya mais ce n'est pas parce que c'est du javascript que tu peux changer les noms de propriétés css :wink:


:oops: Je ne connais pas grand chose au javascript, c'set en faisant des recherches que j'ai trouvé borderLeft ^^ :arrow: http://zonecss.free.fr/javascript_css/j ... order.html

Sinon je comprend plus rien la... Quand je rajoute style.border-left, il n'y a pas de bordure et le fond ne se change plus... :roll: :(

Code: Tout sélectionner
function changebg(id,a) {

      if (a == '') {
         document.getElementById(id).style.backgroundColor='';
         document.getElementById(id).style.alinkColor='';
         document.getElementById(id).style.border='0';
      }
      else {
         var e = document.getElementById(id);
         e.style.backgroundColor='#ffffff';
         e.style.color='#000000';
         e.style.border-left='1px solid black';
         e.style.border-right='1px solid black';
      }

   }

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 11:01

ça fonctionne avec style.borderLeft ... :lol: 8O
Me manque plus que la police et ce sera bon ^^


SuperCureuil
WRInaute impliqué
WRInaute impliqué
 
Messages: 673
Inscription: 9 Mar 2007

Message le Mer Juin 11, 2008 12:42

Ben voui, plus pensé à l'interprétation du - en js :oops:

numerodix
WRInaute discret
WRInaute discret
 
Messages: 108
Inscription: 13 Déc 2007

Message le Mer Juin 11, 2008 14:38

Problème finalement résolu pour la couleur de la police !
L'id était celui du conteneur et non pas l'id du lien !
Merci pour votre aide précieuse ! :)


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Mer Juin 11, 2008 17:13

un truc pas mal pour eviter ce type de désagrément c'est d'utiliser this :

Code: Tout sélectionner

<a href="" onMouseOver="changebg(this,1)">link</a>

function changebg(e,a) {

      if (a == '') {
         e.style.backgroundColor='';
         e.style.alinkColor='';
         e.style.border='0';
      }
      else {
         e.style.backgroundColor='#ffffff';
         e.style.color='#000000';
         e.style.border-left='1px solid black';
         e.style.border-right='1px solid black';
      }

   }



Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités