Autor Zpráva
zis
Profil *
čus, zkoušim si aby mi z danýho pole, se třeba po vteřině, vypsala vdycky náhodně 1 polozka.
bohužel mi to nějak nefachá a nevim proč, vdycky se to vypíše jen jednou a dál nic. Navíc pod mozillou, jak mile se to vypíše, se stránka chová jako kdyby se pořád načítala. Zkoušel sem to nějak přes clearInterval ale nějak mi to nešlo.
tak dik za rady



function akce(){
nahodnePole = ["ahoj","cus","nazdar","te buh"];

document.write(nahodnePole[Math.floor(Math.random()*nahodnePole.length )]);

}
udalost = window.setInterval("akce()", 1000);
//clearInterval(udalost);
PerToon
Profil
Víš že v každým opakování znova definuješ pole? Není to blbý? A nefunguje document.write jen při prvním načtení stránky?
zis
Profil *
tak to je jedno i když to udělám takhle tak nic


<span id="idecko"></span>

<script>
nahodnePole = ["ahoj","cus","nazdar","te buh"];
HodnotaIndexu = Math.floor(Math.random()*nahodnePole.length);
function akce(){
window.document.getElementById("idecko").innerHTML = nahodnePole[HodnotaIndexu];
}

akce()
udalost = window.setInterval("akce()", 500);
</script>
PerToon
Profil
Zkus nevolat funkci intervalem, ale na konci funkce zavolat tu funkci znovu... myslím že to na JPW najdeš v časování a že je to spolehlivejší. A i kdyby tohle šlo, tak by to jednou určilo co se vybere a pak by to vypisovalo jenom to samý...
zis
Profil *
NO teď to pro změnu nedělá nic, ale to volání funkce samo sebe, se používalo pro starší prohlížeče , poněvadž neznali setInterval. Takže teď to je skoro na nic.
peta
Profil *
zis
"vdycky se to vypíše jen jednou"

akce()
udalost = window.setInterval("akce()", 500);
pokud je akce dobra, tak se v mozille provede a protoze dalsi prikaz je asi spatny, tak uz nepokracuje.

http://www.volny.cz/peter.mlich/www.htm#mssub2
- snezeni, najdi si script na hodiny

Mimochodem, v mozille (nebo IE, ted nevim) je nesmirne dulezite promenne definovat. Cili
var udalost=
var nahodnepole=
...

document.write je samozrejme spatne, to poprve provede spravne, ale uz podruhe ti prepise celou HTML, takze se ztrati funkce akce() a neni mozne ji tudiz pres casovac v pameti zopakovat. IE vypise dole zluty vykricnik (=IE JS konzola - chyba), v mozille se to projevi nekonecnym nacitanim, jakoby a v JS konzoli se objevi chyba (nastroje - js konzola)
Toto téma je uzamčeno. Odpověď nelze zaslat.