Problème de onmouseover sur un div

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 7 juil. 2009 à 10:06
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 8 juil. 2009 à 09:09
Bonjour

J'ai mis une action (fonction survol (...)) dans le onmouseover d'un div. Il s'agit simplement de modifier le contenu. Dans le onmouseout, j'appelle une autre fonction (sortie (...)) qui doit remettre le div comme il était à l'origine.

Mes deux fonctions font bien ce qu'elles doivent faire. Mais avec FireFox, lorsque la souris entre dans le div, la fonction survol est bien appelée. Par contre, si la souris passe sur le texte contenu dans le div, sortie est appelée, puis survol et ainsi de suite.
Au final cela fait un clignotement. Et le problème ne se produit qu'avec FireFox.

Sauriez-vous s'il y a un moyen pour que le survol du contenu ne declenche pas le onmouseout du contenant?

Merci d'avance

3 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
7 juil. 2009 à 12:46
Bonjour,

tu nous cache des choses ?
ce genre de phénomène se produit, mais pas dans le cas que tu cites
( et ce n'est pas exclusif à FF )
ch'tiot exemple :

   
   

        exemple
   

et tout va bien....

ça vient donc de la manière dont tu fais ( peut-être sortie() ... ) ?
t aiderait à répondre ( le nécessaire, tout le
nécessaire, et rien que le nécessaire )

Cordialement [mon Site] [M'écrire] Bul
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
8 juil. 2009 à 08:35
Merci pour ta réponse


 


Voici le code HTML qui pose problème :



 <li>
  [projet.php?id=8
   

    
   

  ]
 </li>
 <li>
  [projet.php?id=9
   

    
   

  ]
 </li>
 <li>
  [projet.php?id=10
   

    
   

  ]
 </li>
 <li>
  [projet.php?id=11
   

    
   

  ]
 </li>
 <li>
  [projet.php?id=12
   

    
   

  ]
 </li>

Les fonctions JS appelées :
function survol (obj, titre, marge) {
 obj.className = 'ProjetSurvol';
 obj.innerHTML = titre;
 obj.style.paddingTop = marge.toString () + 'px';
}


function sortie (obj, titre, img) {
 obj.className = 'Projet';
 obj.innerHTML = '';
 obj.style.paddingTop = '0px';
}

Et enfin le CSS (même si je ne crois pas que ça vienne de là...) :
ul, li {
 display: inline;
 list-style: none;
 margin: 0;
 padding: 0;
 height: 92px;
}


ul {
 position: absolute;
 top: 0px;
 margin-left: 0px;
 z-index: 5;
}


li {
 background-color: #040707;
 display: block;  
 float: left;  
 width: 92px;
 text-align: center;
 margin: 0px;
}


li img {
 display: block;
 border: none;
}


.Projet {
 width: 92px;
 height: 92px;
 text-align: center;
 padding: 0px;
 text-decoration: none;
}


.ProjetSurvol {
 width: 72px;
 height: 72px;
 text-align: right;
 line-height: 15px;
 font-size: 0.8em;
 font-weight: bold;
 padding: 10px;
 background-color: #aac605;
 color: #fff;
 text-decoration: none;
 font-weight: bold;
}


.ProjetSurvol a {
 color: #fff;
 text-decoration: none;
 font-weight: bold;
}

Voilà , je pense que j'ai tout mis. Mais j'ai bien vérifié, et seul Firefox pose problème. Aucun clignotement que ce soit avec IE, Opera, Safari ou Chrome...
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
8 juil. 2009 à 09:09
J'ai en partie résolu le problème en passant le à l'interieur du
, au lieu de l'inverse. Il n'y a plus de clignotement. Par contre je voulais que le carré entier serve de lien, alors que là ce n'est pluss que le texte à l'interieur (qui est la plupart du temps plus petit).

N'y a-t'il pas un moyen de mettre un lien sur le div entier (tou en restant valide d'un point de vue XHML)?
0
Rejoignez-nous