Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Pouvoir annuler des appels de fonctions

Difficile (désolé pour le titre)

Sujet résolu
    26 janvier 2006 à 11:40:46

    Bon, désolé pour le titre, mais mon problème est plutôt compliqué...

    J'ai pour l'instant deux liens (après, il y en aura des dizaines), chaque lien crée une barre dans un div prévu à cet effet.
    Dans cette barre, il y a une barre de progression et deux comptes à rebours, autant dire que j'ai besoin de fonctions récursives...

    Ca marche niquel avec une barre, les fonctions s'auto-appellent très bien, jusqu'à la fin du compte à rebours n°1, et Pof, redirection.

    Aucune erreur, tout va bien.

    Simplement, si j'appuie sur le second lien, la barre est remplacée. (Normal hein, c'est l'effet voulu)
    Mais remplacer la barre, ça signifie supprimer les élements précédents, donc ils ne pourront plus être appellés par les fonctions en cours de la barre 1. Or, ces fonctions sont recursives, et par exemple, pour le compteur, s'appellent chaque seconde.

    Donc, dès que j'appuie sur le 2nd lien, j'ai tout de suite une erreur Javascript comme quoi l'objet appellé n'existe pas. (Normal)

    C'est pour cela que j'aimerais, lors de ce clic, supprimer les appels de fonctions récursives effectuées par le lien 1.

    Je sais pas si c'est vraiment faisable, si une pile existe et si elle est manipulable, mais sinon, je demande à des bidouilleurs de m'aider.

    Merci pour le peu de gens qui pourront me répondre. ^^
    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2006 à 11:48:20

      Pourquoi utiliser la recursivité alors qu'il existe un fonction pour appeler une fonction régulièrement? Après je n'ai pas bien compris ce que tu voulais faire...si tu avais une page d'exemple...

      A première vue j'utiliserais une globale qui vaudrait true ou false et je ferais dans ma fonction :


      if(ma_globale) window.setTimeout("mafonction()",x);
      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2006 à 12:00:25

        Hum pas con la globale avant le TimeOut. :)

        Je vais essayer d'apprendre comment on en fait en JS (Pas encore étudié ça ouais ^^)


        Bah merci bien, ça a résolu mon problème, enfin il m'en reste un autre, mais je vais aussi utiliser les globales pour ça.


        Merci encore ! ;)
        • Partager sur Facebook
        • Partager sur Twitter

        [JS] Pouvoir annuler des appels de fonctions

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown