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] ?