Fenetre DHTML : Veuillez patientez

Résolu
Signaler
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Salut,

Je voudrais créer une fenetre en DHTML qui arrete s'affiche en plein milieu de la page de mon site, et qui arrete le chargement de la page pendant environ 10 secondes, pour faire patientez le visiteur !
Puis, à la fin de ces 10 secondes, la fenetre se ferme et le reste de la page s'affiche.

Merci de votre aide

17 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Mal saisie le problème...
...il est possible que les divs ne soient pas encore effectivement pris en compte par le navigateur alors essaies avec çà


<script type= "text/javascript">
setTimeout('inverse()',100);
//----------------
function inverse(){
  var Obj1 = document.getElementById('numero1');
  var Obj2 = document.getElementById('numero2');
  if( Obj1 && Obj2){ // Ils existent
    Obj1.style.display = 'none';
   
Obj1
.style.display = 'block';
  }
  else{
    setTimeout('inverse()',100); // On essaie plus tard
  }
}
</script>





;0)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
   pourquoi vouloir décourager les visiteurs ?
   la plupart des personnes, si c'est trop long, partent et ne reviennent plus.
   quelle est l'utilité ?
<hr />
            Cordialement                Bul          [mon Site]    [M'écrire]
<hr />
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

C'est pour un jeu ;)
J'voudrais mettre un petit temps d'attente avant l'affichage de résultats !
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Tu fais un div visible avec ta "fenetre" DHTML et un invisible avec les résultats , tu attends dix secondes et tu fais
l'échange des propriétés de visibilités des divs ..

Louis
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

Et... comment faire pour passé de " Hidden " à " Non hidden ", et vis versa ?
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
document.getElementById(elem).style.visibility="hidden";





document.getElementById(elem).style.visibility="visible";

.. Louis

des questions?
( je ne sais pas si tu connais les id et le dom ... )
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

visibility = pas bon ça :D

J'ai essayé ça :
<html>
<head>
<script type="text/javascript">
setTimeout('inverse()',100);
function inverse()
{
    document.getElementsById('numero1').style.display = 'none';
    document.getElementsById('numero2').style.display = 'block';
}
</script>
</head>

DIV NUMERO 1

DIV NUMERO 2

</html>

Mais ça marche pas :(
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Essaye sans S getElementsById  .. on sait jamais ..
Louis
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

Merci beaucoup
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

Ca marche pas sur Internet Explorer :(
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Si si et .. si

Louis
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...
et tu est sur que cela marche sur les autres ?
La fonction inverse


n'est appelée qu'une fois et toute manière


n'inverse rien puisqu'elle fait toujours la même chose






<html>
<head>
<script type= "text/javascript">
//----------------
function inverse(){
  k = 1-k; // Commutation
  if( k ){
    document.getElementById('numero1').style.display = 'none';
    document.getElementById('numero2').style.display = 'block';
  }
  else{
    document.getElementById('numero1').style.display = 'block';
    document.getElementById('numero2').style.display = 'none';
  }
  setTimeout('inverse()',100); // On rappelle
}

setTimeout('inverse()',1000);  // Pour lancer attention au delai les div n'existant encore pas


</script>
</head>

DIV NUMERO 1

DIV NUMERO 2

</html>



à tester...
;0)
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

Na et re na ! lol

J'ai mis ceci dans une page appelé affiche.js
Je récupère cette page avec <script type="text/javascript" src="affiche.js"></script>

Dans cette page ce trouve ceci :

setTimeout('inverse()',10000);
function inverse()
{
    document.getElementById('numero1').style.display = 'none';
    document.getElementById('numero2').style.display = 'block';
}

Lorsque j'enleve le setTimeout, ça fonctionne.
Quand j'appel la fonction avec un bouton, sa marche.
Mais lorsqu'il y'a ce setTimeout qui appel la fonction après 10 sec, aucun des 2 div ne s'affiche
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Flute manque ...


<script type="text/javascript">
var k= 0; // Variable globale de commutation



;0)
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

C'est pas une commutation, juste une inversion qui se produit 1 seule fois ^^'
Messages postés
171
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
31 août 2009

J'ai gardé mon code, j'ai juste mis le chargement du script après les 2 div ^^'
Merci
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
No Blem pourvu que cela fonctionne...





;0)