Javascript + onmouse ??

Fermé
iBi0tux Messages postés 71 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 août 2009 - 11 févr. 2009 à 10:48
iBi0tux Messages postés 71 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 août 2009 - 17 févr. 2009 à 18:19
Bonjour,

je souhaite créer une page sur laquelle des divs contenant des informations s'affichent au passage de la souris sur les liens.

j'ai procédé de la facon suivante :

<style>

#box { position: absolute; width: 30%; height:20%; top: 1%; left:1%; visibility:hidden; background-color:#FF0000; }
</style>
<a href=# onmouseover="affichebox()" onmouseout="fermebox()">Texte</a>

<div id="box">
bla bla bla
</div>

<script>
function affichebox()
{
document.getElementById("box").style.visibility="visible";
}


function fermebox()
{
document.getElementById("box").style.visibility="hidden";
}

</script>


Et la , ca ne marche pas !

En fait lorsque la souris passe sur le texte, la box s'affiche par dessus le lien. Mais comme la fenetre est par dessus le lien la souris n'est plus sur le lien donc la box disparait. Puis elle réapparait ... et ainsi de suite, ce qui provoque un effet de clignotement très très désagréable et qui en plus gène le fonctionnement de la page.

Comment y remédier ?
(je pense faire en sorte que si la souris est sur la box, elle reste visible mais je ne sais pas comment m'y prendre).

Aidez moi s'il vous plait !!


merci

4 réponses

cas_cant Messages postés 6 Date d'inscription mardi 10 février 2009 Statut Membre Dernière intervention 12 février 2009 1
11 févr. 2009 à 11:02
tu peut essayé avec le display:block; et le display:none


.style.display="none"; ---> .visibility="hidden";

.style.display="block";---->visibility="visible";
0
Utilisateur anonyme
11 févr. 2009 à 13:19
<div title="blabla">contenu</div>
0
Trodh Messages postés 1 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 10:41
Bonjour,

Je pense avoir résolu ton problème.

Dans ton code, il faudrait que tu remplace
<div id="box">
par
<div id="box" onmouseover="affichebox()" onmouseout="fermebox()">

Grâce à ça si tu laisses ta souris sur le lien ou sur la box, elle reste visible. Et si tu enlève ta souris a la fois du lien et de la box, elle disparait.
0
iBi0tux Messages postés 71 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 août 2009 1
12 févr. 2009 à 15:50
ouaip ca marche !

résolu +1 :)
0
iBi0tux Messages postés 71 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 août 2009 1
17 févr. 2009 à 18:19
En fait j'ai un autre problème.

Je souhaiterais qu'il y a ait un timer qui fasse apparaitre la box au bout de 500ms et un autre qui attente 400ms avant de la fermer lorsque la souris quitte la zone.

Comment procéder ?
0