Bonjour a tous,
Je suis confronter a un petit probleme dont je comprends les raisons mais dont je ne sais pas comment le resoudre.
Mon site web possede sur la partie de gauche un menu dynamique, c'est a dire que tous mes liens sont susceptibles de changer d'ordre.
Le truc, c'est que un des liens (de type BLOCK avec une hauteur de 20px) affiche en mouseover un menu en position:absolute.
J'ai recupere la position de la souris au survol de ce lien et j'affiche donc mon sous-menu par rapport a la position en y.
Mais le probleme est que mon lien fait 20px de hauteur, donc l'affichage de mon sous-menu varie de 20 px en fonction de si je survole le lien en venant du bas ou si je le survole en partant du haut.
Je crois que le meilleur moyen serait de recuperer la position de l'emplacement
de mon lien, mais cela est-il vraiment faisable???
Code du lien mis en cause :
Javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="" id="linkbox" onMouseOver="montre(\'smenu2\',event)" onmouseout= "delai()">'.$rowmenu[1].'</a>
Merci d'avance pour vos suggestions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 function montre(id,e) { var d = document.getElementById(id); clearTimeout(timeout) for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) { d.style.display='block'; if(e) { height=getposition(e); d.style.marginTop=height; } } } function getposition(e) { y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop; if (navigator.appName.substring(0,3) != "Net") y=y+100; return y; }
Partager