Autor Zpráva
kenny456
Profil
zdravím, chtěl bych vypsat čísla od 1 do 9, ale tak, aby se mezi vypsáním každého čísla třeba vteřinu čekalo. Napadlo mě toto

for (var i=1; i < 10; i++) {
                datum = new Date();
                with (datum){
                    time1 = getSeconds();
                }
                do {
                    datum2 = new Date();
                    with(datum2) {
                    time2 = getSeconds();
                    }
                }
                while((time1 + 1) > time2);
                document.write('<br>' + i);
                //alert(i);
            }

ale to bohužel nefunguje a čísla se zobrazí až všechny najednou po skončení celého skriptu. Jen když tam nechám ten alert, tak se zobrazí postupně vždy s vyskakujícím alertem. Existuje v Javascriptu neco jako treba v PHP funkce ob_flush() a flush() ?

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Radek9
Profil
kenny456:
Jsou tam přímo funkce pro čekání. Například setInterval nebo setTimeout. Tyhle prasárničky tam vůbec nedávej.
kenny456
Profil
Radek9:
o těch funkcích samozřejmě vím, ale nenapadá mě, jak je v tomto případě použít, protože to vždycky čeká, než skončí celej cyklus for a v tom já to potřebuju.
Chamurappi
Profil
Reaguji na kennyho456:
Můžeš v cyklu nastavit několik setTimeoutů na různou dobu.
Nebo použít setInterval a uvnitř opakované funkce doprogramovat zarážku s clearInterval.
kenny456
Profil
Chamurappi:
nějak se mi to pořád nedaří. nemohl bys to prosím ukázat na tom mém příkladu?
_es
Profil
kenny456:
Naštuduj si použitie metódy appendChild a funkcie setTimeout.
kenny456
Profil
díky za rady, už jsem to předělal a vyřešil pomocí setInterval a setTimeout

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0