IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[setTimeout] Message d'attente ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut [setTimeout] Message d'attente ?
    Bonjour,
    je cherche une solution pour simuler une pause avec javascript,
    je travail sur une application Web java, un site commercial.
    quand le client valide sa liste des produits, il est dirigé vers la page de paiement (par homologation).
    Mon but est d'afficher un message d'attente avant le paiement pour dire au client que vous allez être diriger vers page sécurisée.

    le message est sous un DIV caché.
    au moment où le client valide son panier, le contenu de la page est remplacé par le DIV et aprés 5 secondes le client est redirigé vers la page de paiement.
    Code html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="validate" href="redirection" OnClick="showMsg()"
    Code Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function showMsg(){
    effaceLayer();
    document.getElementById('div_msg').style.visibility = 'visible';
    setTimeout(arguments.callee,5000);
    return true;
    }
    function effaceLayer() {
    document.getElementById("div_panier").style.visibility = 'hidden';
    }
    seulement :
    le message reste moins d'une seconde

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    setTimeOut n'est pas bloquant. C'est-à-dire qu'il lance le timer mais il n'attend pas les x millisecondes avant de passer à l'instruction suivante. Ce qu'il fera après les x millisecondes, c'est exécuter la fonction passée en premier paramètre. Voici un exemple pour mieux comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    function showMsg(){
        setTimeout("alert(1)",5000);
        alert(2);
    }
     
    showMsg();
    </script>
    Dans votre cas, il lance le timer mais renvoi true directement. De plus, je n'en suis pas certain mais si vous renvoyez la valeur, autant l'attendre lors de l'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="validate" href="redirection" OnClick="return showMsg()">

Discussions similaires

  1. Afficher un message d'attente en SQL Server
    Par bong03 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/05/2006, 09h43
  2. effacer un message d'attente
    Par ProgElecT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/03/2006, 10h18
  3. Réponses: 8
    Dernier message: 25/11/2005, 18h38
  4. Message d'attente pendant pilotage Ole Excel
    Par yottatiger dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/09/2005, 09h14
  5. [IdTCP] Comment tester l'existence de messages en attente ?
    Par HopeLeaves dans le forum Web & réseau
    Réponses: 1
    Dernier message: 29/06/2005, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo