W ramach przypomnienia sobie podstaw z JavaScript napisałem taki krótki skrypcik testowy, którego zadaniem jest "dynamiczne odliczanie". Sama funkcja odliczająca działa ale powoduje ona skasowanie treści, która była wypisana wcześniej.
<script type="text/javascript" charset="UTF-8">
var x = y = z = 5; // wszystkie zmienna mają wartość 5
var a =10;
document.write("zmienna 'a' ma wartość: " + a +"<br>");
document.write("x+y+z = " + (x+y+z)+ "<br>");
var iterator = 0;
function DelayTest()
{
document.write("odliczono:" + iterator + '<br>');
iterator ++;
if(iterator > 9)
{return true;}
setTimeout("DelayTest()", 1000);
}
DelayTest();
</script>
Konkretnie, funkcja powoduje zniwelowanie wcześniej wykonanych:
document.write("zmienna 'a' ma wartość: " + a +"
");
document.write("x+y+z = " + (x+y+z)+ "
");
Ktoś wie dlaczego tak się dzieje i jak temu zaradzić ?