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 une pause dans un script


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut Faire une pause dans un script
    Bonsoir,

    j'ai une fonction dont j'aimerais que son traitement se réalise à intervalle régulier.

    En fait la fonction fait tourner une boucle while...mais elle est tellement rapide qu'on ne la voit pas s'exécuter.
    Il s'agit de donner l'impression qu'un dessin bouge en l'effaçant puis le redessinant plus loin.


    Au début je pensais que setTimeout serait suffisant...sauf que non il ne met pas mon script en pause. Il va attendre pour utiliser une de mes fonctions mais c'est tout le reste du code va s'exécuter vitesse TGV.


    Donc en fait si je simplifie l'algo que je veux


    Dessiner

    Tant que position non atteinte
    Effacer dessin
    Modifier position
    Dessiner
    Fin Tant que

    Si je met un timeout sur l'effacement; seul le dernier dessin est effacé car le reste du code n'est pas stoppé.


    Donc dans l'idéal je voudrais une fonction qui me permettrait de réellement stoppé l'exécution du code sur une durée.


    Une idée ?

    Peut être un moyen en incluant du code php dans le script ? (enfin si c'est faisable..)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    => setInterval() ?

    sleep() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <script type="text/javascript">
          /* Delay for a number of milliseconds */
          function sleep(delay) {
            var start = new Date().getTime();
            while (new Date().getTime() < start + delay);
          }
        </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          <script type="text/javascript">
            alert("Wait for 5 seconds.");
            sleep(5000);
            alert("5 seconds passed.");
          </script>

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut
    J'ai fini par me débrouiller avec la fonction setTimeout !

    Merci quand même.

    J'avais déjà pu voir la méthode que vous me proposez mais on m'a dit que c'était déconseillé que ça flinguait le processeur...

Discussions similaires

  1. [FLASH MX] Faire une pause dans l'animation
    Par transistor49 dans le forum Flash
    Réponses: 9
    Dernier message: 13/06/2006, 18h55
  2. [java.util.logging]Faire une pause dans le logging
    Par anthyme dans le forum Logging
    Réponses: 6
    Dernier message: 08/03/2006, 10h43
  3. [FLASH MX2004] Comment mettre une pause dans un script
    Par vbcasimir dans le forum Flash
    Réponses: 3
    Dernier message: 16/02/2006, 09h47
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

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