Bonjour,
j'ai un script qui me permet d'afficher une fausse popup lors du passage de la souris sur des éléments déterminés.
Ce n'est pas moi qui ai réalisé ce script, je l'ai trouvé sur le net.
Je voudrais le modifier pour faire en sorte que mon infobulle s'affiche uniquement lorsque la souris marque un passage "prolongé" sur mon lien... 2 secondes par exemple.
Voici mon code javascript:
Code :
- <!--//Michel DEBOOM 06/2005
- gk=window.Event?1:0; // navigateurs Gecko ou IE
- D=document;popup=encours=0
- function ctrl(e)
- {
- de=!D.documentElement.clientWidth?D.body:D.documentElement // IE6
- sx=gk?pageXOffset:de.scrollLeft //scroll h
- sy=gk?pageYOffset:de.scrollTop //scroll v
- x=gk?e.pageX:event.clientX+sx; //curseur x
- y=gk?e.pageY:event.clientY+sy; //curseur y
- el=gk?e.target:event.srcElement;
- if(!el.tagName)el=el.parentNode; // noeud #text
- if(el.className == 'pop')
- {
- popup = D.getElementById(el.href.substring(el.href.lastIndexOf('#') + 1)).style;
- if(popup!=encours) // seulement si changement
- {
- encours.display='none';
- with(popup){display="block";left=x+'px';top=y+10+'px';}
- encours=popup;
- }
- } else {encours.display='none';encours=0}
- }
- D.onmousemove=ctrl
- // charge la feuille de style des popups.
- D.write('<style type="text/css">@import url(popup.css);</style>')
- //-->
|
Et voici comment est défini un élément sur le passage duquel ma popu va s'afficher:
Code :
- <a href="#pop1" class="pop"> Test d'affichage</a>
|
Enfin a la fin de ma page, je place le contenu de mon infobulle (qui bien sur n'est pas présent a l'écran tant que ma souris ne survole pas le lien):
Code :
- <div id="pop1">
- <h1>Infobulle</h1>
- <p>Ceci est mon infobulle</p>
- </div>
|
Je souhaite donc modifier mon code afin qu'il y ai une tempo de 2 secondes avant que l'infobulle s'affiche.
j'ai essayé d'utiliser setTimeout mais sans succès (peut être mal utiliser de ma part)
Merci d'avance