Délai disparition d'un div

Signaler
Messages postés
3
Date d'inscription
mardi 13 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2007
-
Messages postés
3
Date d'inscription
mardi 13 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2007
-
Bonjour à tous,

j'ai parcouru tout le web en français et anglais pour trouver un moyen de réaliser la disparition d'un div (sous menu d'un menu dynamique) avec un délai.
J'ai trouvé des réponses du côté de SetTimeout mais comme je débute en js, j'ai du mal à adapter à mon code.
Merci beaucoup à ceux qui pourraient m'éclairer sur le sujet

-----------------------------------------------------------------------------------------------------------------------
Voici un exemple d'un div dans ma page:

           
                <li>[# ssmenu 1]</li>
                <li>[# ssmenu 2]</li>
                <li>[# ssmenu 3]</li>
                       
         

------------------------------------------------------------------------------------------------------------------------
et voici le js permettant l'affichage et disparition du div, sans la fonction SetTimeout car je n'ai pas réussi à coder proprement

window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
    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';}
}

------------------------------------------------------------------------------------------------------------------------
merci à tous

6 réponses

Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Bonjour,



window.setTimeout(timer,200)//en remplaçant 200 par le temps en millisecondes (1/100 de secondes)
function timer()
{
//le code de ta fonction.
}









<hr />



<hr />
<sub>
<sup>
STFOU
</sup>
</sub>
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




une piste :
setTimeout(function()
    {  

    document.getElementById('smenu'+i).style.display='none';
    }, 200);

Cordialement
Roro webDev
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
roro >
Euh non, car il attendrai 200 millisecondes a chaque répetition de la boucle for, plutot :

window.setTimeout(function()
    {   
   for(i=0;i<...)
   {

    document.getElementById('smenu'+i).style.display='none';
   }
    }, 200);

<hr /><hr />STFOU
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




oui, tu as raison, je répondais surtout à l'utilisation du setTimeout, mais c'est vrai qu'il fallait y faire entrer la boucle for

Cordialement
Roro webDev
Messages postés
3
Date d'inscription
mardi 13 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2007

merci beaucoup de vous pencher sur mon problème,

Néanmoins, je ne parviens toujours pas au résultat (work in progress )
Bon je vais m'acharner encore un peu !

voici la page sur laquelle je bosse, je souhaiterais juste que mes deux sous-menus disparaissent avec un petit délai.
http://www.ekureuil.info/schoolofart/main.html
et mon fichier js : http://www.ekureuil.info/schoolofart/js/injection.js

merci encore.
Messages postés
3
Date d'inscription
mardi 13 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2007

C'est après une journée complète dans le code ( mal au crâne pour un débutant )
que je vous sollicite pour une éventuelle aide pour mon projet. Je réalise ce site en tant qu'étudiant pour un projet de 3eme année en webdesign.

http://www.ekureuil.info/schoolofart/main.html
http://www.ekureuil.info/schoolofart/js/scripts.js

les codes que vous me proposez semblent juste mais je pense que je n'arrive pas à l'adapter à ma situation.
J'ai trouvé une source illustrant l'idée
http://perso.orange.fr/michel.deboom/menualsa/menu-horizontaljs.htm

merci à ceux qui pourront m'éclairer