Avatar
Matej
Člen
Avatar
Matej:

Zdravim , neviem ci som to zle pochopil ale preco v

var c = 0;
var t;
var timer_is_on = 0;

function timedCount()
{
document.getElementById("txt").value=c;
c = c+1;
t = setTimeout(function(){timedCount()},1000);
}

je "setTimeout()" namiesto "setInterval()"?
setTimeout by mal vykonat funkciu za tolko sekund aka je zadana hodnota(delay)
pricom
setInterval by mal vykonavat funckiu kazdych x sekund (podla toho aka je zadana hodnota)
ci?:D

 
Odpovědět 21.4.2014 22:43
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:

Výsledek by měl být stejný, ale nemusí. Při složitější funkci, která bude trvat déle jak sekundu, by při setIntervalu byla spuštěná 2x. Nebo třeba při neodpovídajícím prohlížeči by se po 5 vteřinách provedla 5x. Tím setTimeoutem jí volá rekurzivně, čili dokud se funkce uvnitř nedokončí, tak se znovu nezavolá.

Rozhodně bych nepřičítal do c 1, ale počítal rozdíl dvou časů. A ten element bych hodil do proměnné. Vybírat ho dokola nemá smysl.

Nicméně v tomto případě setInterval asi nemůže nic zkazit.

setTimeout s opětovném voláním funkce používám při měření fps ve hrách.

 
Nahoru Odpovědět 22.4.2014 9:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.