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 :

faire attendre l'execution(pas avec setTimeout)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut faire attendre l'execution(pas avec setTimeout)
    Bonjour, je me pose une question depuis pas mal de temps déjà, car dès que je me met au javascript, je retombe sur le même problème:

    comment suspendre l'execution d'un script?
    J'ai été voir dans la fac, et comme partout, il mettent setTimeout en avant pour éxécuter une fonction après un temps.

    Mais ce n'est pas du tout ce que je cherche. Je voudrais juste pouvoir stopper l'execution du script pendant un moment, sans être obligé d'integrer toute la suite du script dans une fonction. On en arrive vite a du code completement illisible, car il déclare plein de focntions qui n'ont pour raison d'être que de marquer un point d'arret a ce niveau.

    Ce que je cherche s'apparente au sleep du php.

    Je vous remercie pour votre aide.

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Si tu utilise un langage server, il y a ca : http://www.developpez.net/forums/sho...d.php?t=296158

    Mais ce n'est pas des plus optimal et surtout ca "freeze" la page...

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    cela n'existe pas en javascript de part l'execution en bulle du code ... c'est pour cela qu'il faut encapsuler la fonction dans le setTimeout.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Si, j'ai trouvé une solution.

    Il s'agit de faire un appel XHR Synchrone vers une page serveur vide qui exécuterait le "sleep" pour nous

    Seulement comme je l'ai dit, ca freeze le navigateur (attente de la réponse XHR)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui j'ai bien vu Fremy mais d'une part c'est de la triche enfin c'est pas en javascript, et d'autre part comme ça gèle tout ... En général le but est d'aller le plus vite possible non ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Peut-etre en faisant une fonction du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function fonctionAEtape(etape)
    {
        switch(etape)
        {
            case 1 :
                 On fait les actions de l'etape 1
                 Et on fait une pause
                 setTimeout("fonctionAEtape(2)",1000);
                 break;
     
            case 2 :
                 On fait les actions de l'etape 2
                 Et on fait une pause
                 setTimeout("fonctionAEtape(3)",1000);
                 break;
     
              case 3 :
                 On fait les actions de l'etape 3
                 Et c'est fini
                 break;
      }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/12/2008, 11h10
  2. Réponses: 6
    Dernier message: 18/12/2007, 09h16
  3. Réponses: 2
    Dernier message: 13/03/2007, 09h37
  4. Réponses: 4
    Dernier message: 24/11/2006, 17h01
  5. Une fonction settimeout qui s'execute pas
    Par stepon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/08/2006, 11h55

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