Affichage d'un div au passage de la souris

Affichage d'un div au passage de la souris - HTML/CSS - Programmation

Marsh Posté le 10-02-2004 à 21:52:31    

voila le site en question :
 
www.tonblog.com/test
 
je voudrai créer une temporisation pour le menu de la barre en haut pour qu'il reste affiché une seconde par exemple.
 
merci


Message édité par compuman101 le 16-02-2004 à 20:58:48
Reply

Marsh Posté le 10-02-2004 à 21:52:31   

Reply

Marsh Posté le 10-02-2004 à 22:43:09    

Les CSS ne sont pas faites pour faire de la temporisation.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 10-02-2004 à 22:44:22    

en javascript je ne peux pas faire ca ?
 
comme je l'ai fait pour activer ou desactiver le div lors du passage de la souris

Reply

Marsh Posté le 10-02-2004 à 22:48:41    

Reply

Marsh Posté le 10-02-2004 à 23:16:44    

ma fonction est :
 

Code :
  1. function montre(id) {
  2.    document.getElementById(id).style.visibility="visible";
  3. }


 
 
et  
 

Code :
  1. function cache(id) {
  2.    document.getElementById(id).style.visibility="hidden";
  3. }


 
j'aimerai lui appliquer la fonction settimeout pour que le div "id" reste un petit temps affiché mais ca ne marche pas :/


Message édité par compuman101 le 10-02-2004 à 23:18:20
Reply

Marsh Posté le 10-02-2004 à 23:30:57    

compuman101 a écrit :

ma fonction est :
 

Code :
  1. function montre(id) {
  2.    document.getElementById(id).style.visibility="visible";
  3. }


 
 
et  
 

Code :
  1. function cache(id) {
  2.    document.getElementById(id).style.visibility="hidden";
  3. }


 
j'aimerai lui appliquer la fonction settimeout pour que le div "id" reste un petit temps affiché mais ca ne marche pas :/


 
Qu'est-ce que tu fais jusqu'à présent ? :/

Reply

Marsh Posté le 10-02-2004 à 23:35:05    

Code :
  1. function montre(id) {
  2.    document.getElementById(id).style.visibility="visible";
  3. }
  4. function cache(id) {
  5.    document.getElementById(id).style.visibility="hidden";   
  6. }
  7. <a onmouseover="montre('ssmenu1')" onmouseout="cache('ssmenu1')" href="">Rubrique 1</a>
  8. <div id="ssmenu1" class="sousmenu">Sous Rubrique 1</div>


 
 
voila exactement ce que j'ai.
 
je souhaite laisser le sous menu affiché qques instants, en fait différerer de qques instants la fonction cache

Reply

Marsh Posté le 10-02-2004 à 23:38:38    

Oui et ? Comment tu appliques le settimeout ? :o

Reply

Marsh Posté le 10-02-2004 à 23:44:41    

Code :
  1. function montre(id) {
  2.    document.getElementById(id).style.visibility="visible";
  3. }
  4. function cache(id) {
  5.    setTimeout("cache2('id')",6000);
  6. }
  7. function cache2(id) {
  8.   document.getElementById(id).style.visibility="hidden";
  9. }


   
 
J'avais pensé à ca mais ca ne marche pas.
 
Je pensais décaller la fonction cache 2 de cette maniere


Message édité par compuman101 le 10-02-2004 à 23:45:08
Reply

Marsh Posté le 10-02-2004 à 23:46:48    

C'est rigolo ça. Et comment tu appelles ta fonction cache(), enfin où surtout ?

Reply

Marsh Posté le 10-02-2004 à 23:46:48   

Reply

Marsh Posté le 10-02-2004 à 23:49:08    

Code :
  1. <a onmouseover="montre('ssmenu1')" onmouseout="cache('ssmenu1')" href="">Rubrique 1</a>
  2.  
  3.   <div id="ssmenu1" class="sousmenu">Sous Rubrique 1</div>


 
c'est dans la meme page apres la fermeture de la balise head et ouverture de body

Reply

Marsh Posté le 10-02-2004 à 23:59:02    

:/

Reply

Marsh Posté le 11-02-2004 à 00:15:58    

help please :/

Reply

Marsh Posté le 11-02-2004 à 01:32:26    

Un truc de ce style ?  
 

var e;
 
function cache(id) {
    e = document.getElementById(id);
   setTimeout("e.style.visibility='hidden';", 3000);
}


 
(attention le "var e" doit être en dehors de la fonction. C'est pour mémoriser l'élément sur lequel s'est produit l'évènement car sinon au moment de cacher l'élément le navigateur ne pourra pas le trouver vu que la souris ne sera sûrement plus dessus.)
 
Et tu fais pareil pour l'autre fonction.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 11-02-2004 à 08:03:34    

Merci c'est exactement ca :)
 
Cela pose juste qques pb de suraffichage dans certains cas :
 
http://www.tonblog.com/test

Reply

Marsh Posté le 11-02-2004 à 22:24:05    

Voir dans ce cas avec clearTimeout pour annuler le timeout.
 
Ou alors avant de faire un setTimeout, faire un test pour voir si la souris est sur un autre item du menu.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 11-02-2004 à 23:33:59    

ok merci

Reply

Marsh Posté le 16-02-2004 à 20:59:47    

gm_superstar a écrit :

Voir dans ce cas avec clearTimeout pour annuler le timeout.
 
Ou alors avant de faire un setTimeout, faire un test pour voir si la souris est sur un autre item du menu.


 
comment on peut faire ca ?
tester si id est défini, dans ce cas la, appeler la fonction cache(id) et ensuite montre(id)

Reply

Marsh Posté le 16-02-2004 à 22:15:03    

En fait il y a plus simple. Dès que montre() est appelé tu caches immédiatement les 3 DIV qui consitutent les sous menus.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed