Autor Zpráva
Lopata
Profil
Chtěl jsem, aby se mi pořád vypisovalo sdělení. To "matrix" je tam jen tak -> nedávno jsem znovu viděl jistý film...
Udělal jsem tento script, aby se mi vypisovalo "matrix" každých 300ms. Ale ono se to udělá jen jednou.

<script>
var matrix = "document.write";
var matrix2 = "('matrix<br>')";
function domatrix()
{
eval(matrix + matrix2)
};
var timeout = setInterval("domatrix()", 300);
</script>

Vím, že to eval je tam zatím zbytečné, užiju ho později, až na to nabalím pár věcí. Když jsem si tam zkusil místo toho document.write("matrix<br>") dát alert("MATRIX"), tak script alertoval, jak divý. V tom časování, zdá se, tedy problém není. Připadá mi, jako by se to tam psalo každých 300ms, ale "přes sebe". Buď jsem blbej, což je zdá se pravděpodobné nebo fakt nevim. Poraďte prosím někdo a nekamenujte mě... :-D
Měsíček
Profil
Reaguji na člena Lopata:

Metoda write objektu document, slouží k přepisování čiliže se ti jednou vypíše "Matrix<br>", ale za 0,3 sekundy se zase přepíše -> ty vlastně uvidíš pouze jediný výsledek, použij něco jiného třeba innerHTML a nebo jiné (doufám, že ještě nějáké jsou, možná DOM).

Použít se dá možná i tohle :) když si na to zvykneš (můžeš si vyzkoušet ukázku na konci stránky).

http://msdn.microsoft.com/en-us/library/ms536389.aspx
Lopata
Profil
Reaguji na člena Měsíček:

Díky moc, ale jim to funguje jen v IE a mě ve Firefoxu 3.0.3 ne...

No ... zkusil jsem to trochu vylepšit, abych viděl, že se něco děje a zároveň použil to innerHTML. Stvořil jsem toto:

<script>
function barva(){
barvicky = new Array("yellow", "blue", "red");
nahodnecislo = Math.round(Math.random()*2);
document.body.bgColor = barvicky[nahodnecislo];
}
function domatrix()
{
document.getElementById('sem').innerHTML = "MATRIX" + "<br>";
barva()
}
var timeout = setInterval("domatrix()", 300);
</script>


Soudě podle té lightshow se pořád něco děje. Rmoutí mě ale, že ten Matrix tam je vždy jen jeden.... :-( Poraď ty, kdož víš jak.... :-D
Měsíček
Profil
Reaguji na člena Lopata:

Tady je funkční výsledek:

  <script type="text/javascript">
    var timeout = setInterval(function () {
      var div = document.createElement("div");
          div.innerHTML = 'Matrix <br>';
          document.body.appendChild(div);
  }, 300); 
  </script>
Lopata
Profil
DĚKUJI MOC!!!
Měsíček
Profil
Reaguji na člena Lopata:

Rád jsem pomohl :)

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: