11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous,

voilà j'ai un petit problème que je n'arrive pas à résoudre...

J'ai un tableau. Au survol sur une ligne, je fais un effet de changement de background avec JS.
Mon tableau a beau avoir son cellspacing à 0 ni aucun espace vide entre les td, IE fait clignoter le background quand je passe la souris entre 2 td d'une même ligne... Pendant 1/2 seconde, le background passe à comme si on était dehors à l'intersection d'un td contre un autre.

Qqn aurait-il une solution à ce problème ?

Cécile
Modifié par oaouh (28 Feb 2008 - 17:59)
Je pense avoir déjà connu ce problème.
Peut être faut il que tu bride ton script Js : je pense que tu agis sur un OnMouseOver et sur un OnMouseOut, cependant si tu laisse ta souris sur ta ligne le script ne va pas cesser d'être appeler.
Donc il faudrait que tu puisse ne lancer ta fonction (changement de background) seulement au premier passage de ta souris sur la ligne, puis que tu annule cet effet sur le mouse out de la ligne.

J'espère avoir été clair et surtout que cela puisse répondre a ton attente.
KalNex
En gros, ne faire l'effet de changement de background que si le Tr précédent est différent du Tr que l'on survole...
Pas con, je vais tenter le coup. Merci du conseil !
Oui quelque chose comme ça.

Qui va te permettre de ne faire qu'un seul changement d'état de ton background : un quand tu arrive sur ton tr (si j'ai bien compris donc Smiley cligne ) et un quand tu pars ce celui ci, et tu peux sans doute grouper les deux effets dans un seul et même évènement ( Smiley biggol ).

J'avais fait un truc semblable avec un menu contextuel qui s'affichait au survol d'un bouton (image) et il a fallu que je mette en place une variable me servant de 'flag' afin de savoir si c'était la première fois ou non que je survolais mon bouton.

KalNex
Cool, ça marche.
Du coup je n'ai plus qu'un onmouseOver et le "dé-survol" du Tr ne se fait qu'au onmouseOver sur un Tr différent. Du coup aussi, qd je sors le curseur du tableau, j'ai quand même le dernier Tr qui reste à l'état survolé...

Est-ce que tu aurais une idée pour éviter cela ?
Re,

Alors, ce que tu pourrais faire mais ce n'est qu'une solution Smiley cligne c'est englober ton tableau d'une DIV et au mouse out de cette div tu couperais tout style pour revenir a un état normal.

Tu pense que ça peut le faire ?
J'espérais ne pas en arriver à ça mais ça me paraît être la seule solution effectivement... Smiley ohwell
Ou même un mouse out sur le table remarque ...

Je sais pas s'il le prend mais sinon c'est du tout ou même.