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 :

Arrêter l'execution en boucle


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 186
    Par défaut Arrêter l'execution en boucle
    Bonjour,

    Dans le code source JS donné sur le site developpez.com pour réaliser un effet de machine à écrire.


    Comment faire pour que ça ne se répète pas indéfiniment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    window.onload = function(){
          typewriter();
    }
    Est-ce qu'on peut modifier simplement window.onload pour y parvenir ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    n'y aurait-il pas une erreur sur le lien de la source ?

    Dans la pratique il ne te faut rappeler la fonction qui si le chaine n'a pas été entièrement parcourue, dans le cas contraire tu ne fais rien.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 186
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonjour,
    n'y aurait-il pas une erreur sur le lien de la source ?
    oui.

    http://javascript.developpez.com/tel...chine-a-ecrire

    Citation Envoyé par NoSmoking Voir le message
    Bonjour,

    Dans la pratique il ne te faut rappeler la fonction qui si le chaine n'a pas été entièrement parcourue, dans le cas contraire tu ne fais rien.
    ??

    Si la chaine est entièrement parcourue, pour quelles raisons y-a -il un reset (effacement), puis à nouveau ré-ecriture de la chaine ?
    Est-ce l'évènement window.onload qui relance sans arrêt l'effet.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Voilà comment tu pourrais régler le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var letexte = 'Du texte a écrire';
    var montimer;
    var cmpt = 0;
     
    function typewriter() {
      lelien = document.getElementById('lien');
      if (cmpt < letexte.length) {
        courant = lelien.innerHTML.substring(0, lelien.innerHTML.length - 1);
        courant += letexte.charAt(cmpt) + "_";
        lelien.innerHTML = courant;
        cmpt++;
        setTimeout("typewriter()", 100); // rappel de la fonction dans 100 ms
      }
    }
    compare les deux codes

    Est-ce l'évènement window.onload qui relance sans arrêt l'effet.
    Non c'est le rappel via la méthode setTimeout, qu'il serait préférable d'ailleurs d'écrire comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout( typewriter, 100); // rappel de la fonction dans 100 ms

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

Discussions similaires

  1. script qui s'execute en boucle
    Par coach759 dans le forum jQuery
    Réponses: 3
    Dernier message: 30/10/2009, 18h18
  2. arreter une methode qui s'execute en boucle
    Par riadhhwajdii dans le forum Général Java
    Réponses: 3
    Dernier message: 10/06/2009, 09h48
  3. Réponses: 5
    Dernier message: 27/11/2008, 17h34
  4. Executer un boucle "for next" dans le sens décroissant
    Par caroletexier dans le forum ASP
    Réponses: 1
    Dernier message: 19/11/2008, 11h29
  5. Réponses: 2
    Dernier message: 07/12/2007, 13h31

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