problème CSS/javascript avec FF mais pas IE
Publié : 27 juin 2005, 12:18
Salut,
Je voulais réutiliser (pomper ?
) un effet CSS/javascript de ce forum, à savoir celui qui met toute une ligne d'un tableau d'une couleur différente quand la souris passe dessus. J'ai donc visité discrètement les sources javascript et CSS mais je n'arrive pas à reproduire l'effet ... Je ne suis pas aussi doué qu' OLab quoi !
J'ai repris la fonction javascript "highlightRow"
Mais sans "if (tdNode.nodeType != 3)" car je n'ai pas trop compris à quoi ça sert ...
Et j'ai bien mis dans mon CSS les noms des class, chez moi "td2" et "td2over".
Et le problème c'est que ça ne marche pas sous FF, mais ça fonctionne avec IE. Quand je dis que ça ne marche pas, c'est à dire que ça marche bien au début mais si je repasse trop la souris sur la ligne, il n'y a plus d'effet CSS, de mise en page, etc ... car je me retrouve avec des noms de class du type "td2overover" ... Le javascript à l'air de mal marcher.
Donc est-ce qu'il y a un truc à faire pour FF ? Vous avez une idée ? Parce que ça marche très bien sur ce site, avec IE et FF alors j'aurais voulu savoir à coté de quoi j'étais passé ...
Merci d'avance !
Note : entre mes balises <td> ... </td>, j'ai du java, un truc du genre
Vous croyez que ça peut faire foirer le truc ?
Je voulais réutiliser (pomper ?

J'ai repris la fonction javascript "highlightRow"
Code : Tout sélectionner
function highlightRow(row, onFlag) {
var tdNodes = row.childNodes;
for (var i=0; i<tdNodes.length; i++) {
var tdNode = tdNodes[i];
if (tdNode.nodeType != 3) { // type 3 => #text
if (onFlag) {
tdNode.className = tdNode.className + "over";
} else {
var overPos = tdNode.className.indexOf("over");
tdNode.className = tdNode.className.substring(0,tdNode.className.length-overPos);
}
}
}
}
Et j'ai bien mis dans mon CSS les noms des class, chez moi "td2" et "td2over".
Et le problème c'est que ça ne marche pas sous FF, mais ça fonctionne avec IE. Quand je dis que ça ne marche pas, c'est à dire que ça marche bien au début mais si je repasse trop la souris sur la ligne, il n'y a plus d'effet CSS, de mise en page, etc ... car je me retrouve avec des noms de class du type "td2overover" ... Le javascript à l'air de mal marcher.
Donc est-ce qu'il y a un truc à faire pour FF ? Vous avez une idée ? Parce que ça marche très bien sur ce site, avec IE et FF alors j'aurais voulu savoir à coté de quoi j'étais passé ...
Merci d'avance !
Note : entre mes balises <td> ... </td>, j'ai du java, un truc du genre
Code : Tout sélectionner
<tr onmouseover="javascript: highlightRow(this,true);" onmouseout="javascript: highlightRow(this,false);">
<td class="td2">Nom :</td>
<td class="td2"><%= nom %></td>
</tr>