Autor Zpráva
RastyAmateur
Profil
Krásné odpoledne,

potřeboval bych pomoci. V živé ukázce jsem se pokusil na řádku 16 vytvořit interval. Ten se provede, ale jen jednou. neví někdo proč?

Děkuji moc :-)

2 edity smazány, nepodstatné
Tak jsem pokročil... Rád bych věděl, proč varianta 1 nefunguje, a 2 ano (rozdíly zvýrazním)
varianta 1:
$("#play").click(function(){
    vlastikk("1");
    intervall = setInterval(vlastikk("1"), 3000);
    });
varianta 2:
$("#play").click(function(){
    vlastikk("1");
    intervall = setInterval(function(){vlastikk("1")}, 3000);
    });
Dan Charousek
Profil
RastyAmateur:
setInterval přijímá za první parametr název funkce nebo callback, který se v určitém intervalu provádí.
V druhé variantě máš správně callback, ale v první variantě tu funkci přímo voláš a jako parametr se funkci setInterval předá návratová hodnota tvé funkce vlastikk().

Abys zprovoznil první variantu, tak by to mělo vypadat takto:
setInterval("vlastik(1)", 3000), ale osobně se mi tento zápis nelíbí a za sebe doporučím druhou variantu (kromě těch uvozovek kolem intu).
RastyAmateur
Profil
Dan Charousek:
Děkuji mnohokrát :-) Myslím, že tomu rozumím.
Ty uvozovky kolem čísla jsou proto, že v té funkci se pomocí trojitého rovnítka srovnává vstup a řetězec...
_es
Profil
RastyAmateur:
Viď aj Časté potíže, zajímavosti a poučné debaty » Rozdíl mezi voláním funkce a funkcí.
RastyAmateur
Profil
_es:
Děkuji za odkaz :)

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: