Sunday, January 1, 2012

SetTimeout Funkcija

Ako želimo da se neki dio koda izvrši nakon što protekne određeno vrijeme možemo koristiti upravo ovu funkciju. Puno je lakše osloniti se na nju nego čekati događaje kao što su klik ša ili tastaturu. Pozivanje funkcije je dosta jednostavno i izgleda ovako:

SetTimeout (''MojaFunkcija()'',1000);
Kao prvi parametar funkcija SetTimeout prima izraz koji predstavlja funkciju koju treba izvršiti. Drugi parametar je vrijeme u milisekundama koje označava nakon koliko će preglednik izvršiti ovu funkciju. U ovom slučaju funkcija ''MojaFunkcija()'' će se izvršiti za jednu sekundu. Pogledajmo sada jednostavan primjer koda upotrebom ove funkcije.



<head>
<script language="JavaScript">
function tik()
{
document.forma.tekst.value="tik";
document.forma.sekunda.value=parseInt(document.forma.sekunda.value)+1;
setTimeout("tak()",1000);
}
function tak()
{
document.forma.tekst.value="tak";
document.forma.sekunda.value=parseInt(document.forma.sekunda.value)+1;
setTimeout("tik()",1000);
}

</script>
</head>

<body>
<form name="forma">
<input type="text" name="tekst" value="tak"><br>
<input type="text" name="sekunda" value="1">
&nbsp;&nbsp;
<input type="button" name="dugme" value="Klikni me" onClick="tik()">
</form>
<body>




U head dijelu smo definirali dvije funkcije tik() i tak(). U body dijelu smo definirali jednu formu sa dva textbox-a i jednim dugmetom. Kada kliknemo na dugme pozivamo funkciju tik(). U funkciji se onda prepravlja vrijednost polja tekst na ''tak'' te se uzima brojčana vrijednost polja sekunda te se povećava za jedan. Nakon toga se poziva funkcija tak() koja će biti izvršena za jednu sekundu. U funkciji tak() se prepravlja vrijednost polja tekst na ''tik'' te se povećava brojčana vrijednost polja sekunda za jedan. Nakon toga se ponovo poziva funkcija tik(). Ovdje smo napravili jednu petlju koja se vrti beskonačno i broji sekunde nakon klika na dugme. Ako želimo da se funkcije automatski počnu izvršavat onda bi kod izgledao ovako:



<head>
<script language="JavaScript">
function tik()
{
document.forma.tekst.value="tik";
document.forma.sekunda.value=parseInt(document.forma.sekunda.value)+1;
setTimeout("tak()",1000);
}
function tak()
{
document.forma.tekst.value="tak";
document.forma.sekunda.value=parseInt(document.forma.sekunda.value)+1;
setTimeout("tik()",1000);
}

</script>
</head>

<body>
<form name="forma">
<input type="text" name="tekst" value="tak"><br>
<input type="text" name="sekunda" value="1">

<script language="JavaScript">
tik();
</script>

</form>
</body>




Razlika u kodu je samo ta što smo izbacili dugme na koje treba kliknuti te funkciju pozvali da je preglednik izvrši odmah. Upotrebom ove funkcije možemo napisati dosta zanimljive i veoma korisne skripte.

No comments:

Post a Comment