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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Points : 26
    Points
    26
    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 émérite 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
    Points : 2 338
    Points
    2 338
    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);
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Points : 26
    Points
    26
    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
    Points : 1 186
    Points
    1 186
    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 éminent

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

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    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
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  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
    Points : 1 186
    Points
    1 186
    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é ...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Oui en effet setInterval est plutôt compliqué à utiliser alors que setTimeOut simplifie bien la vie !

+ 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