Page 1 sur 1

Colorer une ligne ou deux dans un tableau

Posté : 24 oct. 2005, 15:37
par pitt
Bonjour

Je vous explique mon problème j'ai un tableau se composant de plusieurs lignes correspondantes à des annonces.

Je voudrais pour un souci de visibilité colorer les lignes lorsque l'on passe dessus.Ca j'y arrive mais il se peut que pour une ligne il y ait en fait deux lignes et je voudrais colorer les deux si il y a besoin je me demande si on peut en javascript accéder à l'objet suivant dans un tableau.

Merci d'avance

Posté : 24 oct. 2005, 15:40
par zeus
Comment est-ce que tu colores les lignes actuellement ?

Qu'est ce qye tu entends par "2 lignes" :
- 1 article qui tiens sur 2 lignes
- 2 articles qui correspondent au même "surarticle"

Posté : 24 oct. 2005, 15:44
par pitt
Je colore de cette facon

Code : Tout sélectionner

<script> function colore(obj) { obj.style.background = '#FF0000' } function decolore(obj) { obj.style.background = '#FFFFFF' } </script> <tr align=\"center\" onmouseover=\"colore(this);\" onmouseout=\"decolore(this);\">
Et pour les lignes en fait si mon annonce est basique elle est affichée sur une ligne de mon tableau.
Mais si il y a des parametres supplémentaires à mon annonce une deuxième ligne s'affiche sous la première.
C'est celle ci que je voudrais colorer dans le cas d'un passage sur la première ligne.

Merci pour ta rapidité

Posté : 24 oct. 2005, 15:46
par zeus
Je pense qu'avec un style CSS, tu devrais arriver à faire ce que tu veux, je regarde et je reviens

Posté : 24 oct. 2005, 15:54
par pitt
Tu ne crois pas que je puisse faire un test savoir combien j'ai de lignes correspondantes et si j'en ai deux colorer les deux?

Posté : 24 oct. 2005, 15:55
par zeus
Si, surement, mais je me demande si cette méthode n'est pas un peu gadget ;)

Posté : 25 oct. 2005, 00:20
par finipe
Essaye comme ça :

- l'id de ta 1ere ligne serait du type : "ligne"
- l'id de la seconde ligne serait donc : "ligne_2"

Et ton code :
<script> 
function colore(obj) 
{ 
    document.getElementById(obj).style.background = '#FF0000';
    document.getElementById(obj+"_2").style.background = '#FF0000';
} 
function decolore(obj) 
{ 
    document.getElementById(obj).style.background = '#FFFFFF;
    document.getElementById(obj+"_2").style.background = '#FFFFFF';
} 
</script> 

<tr align='center' onmouseover="colore('ligne')" onmouseout="decolore('ligne')">

Posté : 25 oct. 2005, 09:57
par pitt
ok ca marche j'ai mis un compteur qui s'incrémente à chaque tour de boucle et


Code : Tout sélectionner

<tr id=\"{$i}ligne1\" align=\"center\" onmouseover=\"colore($i);\" onmouseout=\"decolore($i);\" onclick=\"window.open('traiter_pro.php&ref=$dem[9]')\";> if ($plus[0]!=0){ echo "<tr id=\"{$i}ligne2\">"; }
Et mes fonctions javascript

Code : Tout sélectionner

function colore(i) { var ligne=i+'ligne1' obj=document.getElementById(ligne) obj.style.background = '#FF0000' var ligne2=i+'ligne2' if (obj2=document.getElementById(ligne2)) {obj2.style.background = '#FF0000'} } function decolore(i) { var ligne=i+'ligne1' obj=document.getElementById(ligne) obj.style.background = '#FFFFFF' var ligne2=i+'ligne2' if (obj2=document.getElementById(ligne2)) {obj2.style.background = '#FFFFFF'} }
Merci à vous pour votre rapidité

Posté : 25 oct. 2005, 09:58
par zeus
sujet [RESOLU] ?