Fungování této stránky je z důvodu údržby dočasně omezeno. Pokud žádný článek nápovědy nevyřeší váš problém a potřebujete se zeptat na další řešení, napište nám na Twitter @FirefoxSupport nebo Reddit /r/firefox.

Prohledat stránky podpory

Vyhněte se podvodům. Za účelem poskytnutí podpory vás nikdy nežádáme, abyste zavolali nebo poslali SMS na nějaké telefonní číslo nebo abyste sdělili své osobní údaje. Jakékoliv podezřelé chování nám prosím nahlaste pomocí odkazu „Nahlásit zneužití“.

Zjistit více

Firefox resets Javascript's variable's value

  • 1 odpověď
  • 1 má tento problém
  • 1 zobrazení
  • Poslední odpověď od 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!

Upravil uživatel basbebe dne

Všechny odpovědi (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.