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 :

setTimeout et IE


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de bractar
    Inscrit en
    Janvier 2004
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 224
    Points : 63
    Points
    63
    Par défaut setTimeout et IE
    Bonjour, j'ai un probleme avec IE et setTimeout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for(var i = 0; i < selectedPos.length; i++)
    {
        window.setTimeout(
            function(){
                alert(i);
            },
           200
        );
     
        //setTimeout(showTimedBubble, i*bubbleTime, selectedPos[i].pos);
    }
    mon probleme est que je n'ai pas le bon "i" sur la ligne alert(i);. J'ai le dernier increment. et ca ne fonctionne pas non plus en faisant comme ca function(i){

    merci d'avance pour votre aide

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Essayez un peu en initialisant une autre variable, interne à la boucle (voire à la fonction) avec "i":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    for(var i = 0; i < selectedPos.length; i++)
    {
        var j = i;
     
        window.setTimeout(
            function(){
                //ou bien mettre j ici: var j = i;
                alert(j);
            },
           200
        );
     
        //setTimeout(showTimedBubble, i*bubbleTime, selectedPos[i].pos);
    }

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Pas tout a fait, j va se comporter comme un pointeur ici il est préférable de passer par une fonction anonyme avec un scope fermé ( fonction interne )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for(var i = 0; i < 5; i++)
    {
        setTimeout(
            function(i) {
    			return function() {
    				alert(i);
    			};
    		}(i),
           1000
        );
    }

  4. #4
    Membre du Club Avatar de bractar
    Inscrit en
    Janvier 2004
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 224
    Points : 63
    Points
    63
    Par défaut
    merci, c'est parfait!!

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

Discussions similaires

  1. probleme setTimeout
    Par schmoey dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/10/2005, 16h36
  2. help sur un petit code avec XMLHttpRequest et setTimeout
    Par grinder59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/10/2005, 10h22
  3. setTimeOut ne peu pas appeler une fonct. et appeler une var?
    Par bywazy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2005, 09h56
  4. [Ultra débutant] Problème avec setTimeout()
    Par tails dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/05/2005, 16h05
  5. probleme avec setTimeout
    Par barbarello dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/11/2004, 13h45

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