11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai une carte avec des zone réactives (des petits points). Lorsque j'en survole un, une div se créer et vient afficher un lien. Lorsque la souris ne le survol plus, le div disparait.
mais le problème c'est la personne n'a pas le temps d'aller jusqu'au lien pour cliquer dessus que le lien à disparu... comment résoudre ce problème ?

Merci d'avance.

JS
function close_fen() {
 document.getElementById("carteL").removeChild(document.getElementsByClassName("maclasse")[0]);
	
}


HTML

<div id="carteL">
  <img src="images/carte_principale.jpg" alt="Les horaires des marées en un clic" width="537" height="546" border="0" usemap="#Map" />
  <map name="Map" id="Map">
    <area shape="circle" coords="426,16,5" href="#" onmouseover="fenetre();" onmouseout="close_fen();" />
  </map>
j'ai eu un problème similaire, en fait il te faut un seul listener "onmouseover / onmouseout" sur toute ta zone. Ensuite c'est à toi de repérer sur quel élément tu te trouves, en testant les classe ou les ids de l'élément en cours.
non seulement ça te permet d'avoir de meilleures performances, mais en plus ça te permet de mieux contrôler le onmouseout, et de ne déclencher la fermeture du div que si tu te trouves en dehors de ta zone principale ou au dessus d'une autre zone