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

Flash Discussion :

[FLASH MX2004] Problème avec clearInterval


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut [FLASH MX2004] Problème avec clearInterval
    Bonsoir !

    J'utilise la fonction setInterval pour déclencher une fonction avec 2 secondes de décalage. Je veux que cette fonction s'exécute une seule fois et pour cela j'ai placé clearInterval à son début :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var idDintervalle = setInterval( cacherCarte, 2000 ); 
     
    maFonction () ;
    {
    clearInterval(idDintervalle);
    ...autres instructions;
    }
    Mon problème est que je n'arrive pas à me supprimer l'intervalle et la fonction tourne en boucle. Est-ce que quelqu'un voit une solution ?

  2. #2
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bonjour,
    voici un exemple qui fonctionne que je trouve facile à comprendre, en espérant que ça puisse t'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var intervalId:Number;
    var count:Number=0;
    function test(){
     if(count>=5){
      clearInterval(intervalId);
     }
     trace(count);
     count++;
    }
    intervalId = setInterval(this,"test", 1200);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Merci de ta réponse. Je vais essayer ça. J'ai trouvé également une autre solution, ne fonctionnant qu'avec Flash 8 : utiliser setTimeout. C'est beaucoup plus pratique en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setTimeout( maFonction , 1000, [arg1, arg2, ...]) ;

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    bonjour,
    J'ai moi aussi bcp entendu parler de setTimeOut, mais je ne la trouve nul part dans la doc (flash 8) pouvez vous m'indiquer dans quel section se trouve tel ?

    merci d'avance

  5. #5
    Expert confirmé

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Par défaut
    Salut,

    C'est une fonction non documentée, donc pas la peine de trop chercher
    Pourquoi ? aucune idée.
    Macromedia était coutumier du fait

  6. #6
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    merci freegreg

    Sinon pour setInterval...
    Je pense que set Interval est assé dangereux mal utiliser

    donc voici comment moi je l'utilise pour éviter tout bug.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var timerID:Number=0;
    var count:Number=0;
     
    if(timerID==0){
      timerID=setInterval(my_function,200);
    }
    function my_function(){
    if(count>=5){
      clearInterval(timerID);
      timerID=0;
    }
    count++;  
    }
    Si vous saviez tout les pauvre timerID devenu fou que mon player flash a put rencontré ...

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

Discussions similaires

  1. [FLASH MX2004] Zone de saisie avec scrollbar
    Par carlito dans le forum Flash
    Réponses: 3
    Dernier message: 29/11/2004, 14h30
  2. Réponses: 7
    Dernier message: 05/10/2004, 13h44
  3. [FLASH MX2004] Problème de menu avec explorer
    Par lyne dans le forum Flash
    Réponses: 2
    Dernier message: 24/08/2004, 19h34
  4. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41
  5. [Flash MX2004] Lancer un *.exe avec fscommand
    Par pioup dans le forum Flash
    Réponses: 7
    Dernier message: 30/07/2004, 16h28

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