Ce site disposera de fonctionnalités limitées pendant que nous effectuons des opérations de maintenance en vue de vous proposer un meilleur service. Si un article ne règle pas votre problème et que vous souhaitez poser une question, notre communauté d’assistance est prête à vous répondre via @FirefoxSupport sur Twitter, et /r/firefox sur Reddit.

Rechercher dans l’assistance

Évitez les escroqueries à l’assistance. Nous ne vous demanderons jamais d’appeler ou d’envoyer un SMS à un numéro de téléphone ou de partager des informations personnelles. Veuillez signaler toute activité suspecte en utilisant l’option « Signaler un abus ».

En savoir plus

Firefox resets Javascript's variable's value

  • 1 réponse
  • 1 a ce problème
  • 1 vue
  • Dernière réponse par cor-el

more options

I'm using an onload eventlistener to call a script which increases the value of a variable. I need to get the variable's value before I increase it. Safari and Chrome (Webkit) give the right result but Firefox always alerts "0"... To be clear: Firefox also alerts "done" which means it gets the job done but it does NOT alert the right value before I increase it!


This is my Script:

var obj = {

   build: function() {
       var progressCount = 0; 
       var otherFunction = function(number) {
               alert(number);
       } ;
       var finalFunction = function() {
               alert("done");
       } ;
       var progress = function() {
               alert(progressCount);  // very important line!
               progressCount++;
               otherFunction(progressCount);
               if (progressCount == ARRAY.length) {
               finalFunction();
               }
       };
       ARRAY=document.getElementsByClassName("picture");
       for (var i = 0; i < ARRAY.length; i++)
       ARRAY[i].addEventListener("load", progress);
   }

}

obj.build();


What else could I try? Thank you very much!

I'm using an onload eventlistener to call a script which increases the value of a variable. I need to get the variable's value before I increase it. Safari and Chrome (Webkit) give the right result but Firefox always alerts "0"... To be clear: Firefox also alerts "done" which means it gets the job done but it does NOT alert the right value before I increase it! This is my Script: var obj = { build: function() { var progressCount = 0; var otherFunction = function(number) { alert(number); } ; var finalFunction = function() { alert("done"); } ; var progress = function() { alert(progressCount); // very important line! progressCount++; otherFunction(progressCount); if (progressCount == ARRAY.length) { finalFunction(); } }; ARRAY=document.getElementsByClassName("picture"); for (var i = 0; i < ARRAY.length; i++) ARRAY[i].addEventListener("load", progress); } } obj.build(); What else could I try? Thank you very much!

Modifié le par basbebe

Toutes les réponses (1)

more options

A good place to ask advice about web development is at the MozillaZine "Web Development/Standards Evangelism" forum.

The helpers at that forum are more knowledgeable about web development issues.
You need to register at the MozillaZine forum site in order to post at that forum.