[ vojabgd @ 26.10.2009. 19:55 ] @
Imam problem sa globalnom promenljivom u javascript.
Problem je sa promenjivom cnt. Trebalo bi da se povećava za vrednost speed (kao i revolver.scrollLeft), ali da se resetuje na 710.
Ako napišem cnt+=speed dobijem NaN, a ukoliko stavim cnt=speed onda dobijem 5.

Code:

   var t;
   var speed=5;
   var cnt=1;
   function revolve(speed) {
    var revolver=document.getElementById(\'highlights-tv\');
    revolver.scrollLeft+=speed;
    cnt+=speed;
    if(cnt==710) {
    cnt=0;
    load_more_images(\'1\');
    }
    t=setTimeout("revolve(speed)",50);
   }


Hvala unapred.
[ Aleksandar Ružičić @ 26.10.2009. 21:29 ] @
nisam testirao tvoj kod, ali jedino sto tu vidim nelogicno je nacin koriscenja setTimeout fje, evo malo izmenjenog koda:
Code:

var t, speed=5, cnt=1;

function revolve(speed) {
    var revolver=document.getElementById('highlights-tv');
    revolver.scrollLeft += speed;
    if((cnt += speed) >= 710) {
       cnt=0;
       load_more_images('1');
    }
    t = setTimeout(function(){ revolve(speed);  }, 50);
}
[ vojabgd @ 26.10.2009. 23:29 ] @
Probao sam i ovaj kod, isto mi vraća NaN. I kad napišem cnt=cnt+speed isto bude.
A ako promenim setTimeout prestane da radi.

Na kraju sam stavio cnt++ na kraj f-je i računao broj pokretanja funkcije. Ali i dalje mi nikako nije jasno zašto mi je vraćao grešku za cnt+=speed.

Code:

   var t,speed=5,cnt=1;
   function revolve(speed) {
    var revolver=document.getElementById(\'highlights-tv\');
    revolver.scrollLeft+=speed;
    if(cnt==100) {
    cnt=1;
    load_more_images(\'1\');
    }
    cnt++;
    t=setTimeout("revolve(speed)", 50);
   }
[ Nikola Poša @ 27.10.2009. 09:09 ] @
A zašto si se odlučio da ti naziv parametra te funkcije bude isti kao i naziv te globalne promenljive - speed?
[ vojabgd @ 28.10.2009. 00:05 ] @
Au, nisam ni primetio da je isti naziv. Možda je to stvaralo problem.