Soma wazo hili: 

Unatakiwa kutengeneza program ya chemsha bongo,  ambapo program itauliza swali kisha mtu atatoajibu ndani ya sekunde 10 endapo hajaweka jibu ataambiwa muda umekwisha. 

 

Sasa hapo ndipo tutahitani function ya ku set muda. Kufanya hivi kwa kutumia javascript tutatumia function unayoitaka setTimeout(). Jambo la kuzingatia ni kuwa muda hapa unahesabiwa kwa kutumia millsecond. sekunde 1 ni sawa na millsecond 1000. Hivyo ukitaka code zi fanye kazi baada ya dakika 5 hapo utaweka 5000. Sasa wacha tuone jinsi ambavyo tutaweza kuandika function yetu hii.

 

Kwanza  utaweka function yako setTimeout()  unaweza kuiweka ndani ya variable. Mfano var time = settimeout()

Pili ndani ya hiyo function utaweka statement zalo ukitengenisha na alama ya coma yaani (,) mfano var time = settimeout(function() {Document.write(“Muda umekwisha”)},) 

 

Tatu utaweka muda unaotaka baada ya hiyo koma. Mfano var time = settimeout(function() {Document.write(“Muda umekwisha”)}, 5000).

 

Angalia mfano wa hapo chini

<html>

<head>

 <title>Mafunzo ya javascript</title>

</head>

</html>

<body>

<h2>Jaza kitendawili hiki</h2>

<form>

 <label>Haba na haba hujaza _______________</label><br><br><br>

 <input type="text" placeholder="Jaza jibu hapa">

</form>

 

<script>

 var myTimeout = setTimeout(function (){ document.write("Muda umekwisha")}, 5000)

</script>

</body>


 

Sasa endapo hujajaza jibu na muda ukiisha Utaletewa ujumbe huo. 

 

Pia code hizo hapo unaweza kuzigeuza na kuziadika katika mtindo wa kuweka ku call function ndani ya setTimeout(). Matokeo ya code hizo hapo chini ni sawa na matokeo ya code hizo hapo juu.

 

<html>

<head>

 <title>Mafunzo ya javascript</title>

</head>

</html>

<body>

<h2>Jaza kitendawili hiki</h2>

<form>

 <label>Haba na haba hujaza _______________</label><br><br><br>

 <input type="text" placeholder="Jaza jibu hapa">

</form>

 

<script>

 function quiz (){ document.write("Muda umekwisha")}

 var myTimeout = setTimeout(quiz, 5000)

</script>

</body>

 

setInterval

Sasa ikitokea unahitaji ku excute code kila baada ya muda fulani hapa utatumia setinterval. Somo la hapo juu tumezungumzia ku excute code baada ya muda fuani, lakini hapa ni kila baada ya muda fulani. 

 

Mfano:

Umetakiwa kuweka program ya kuesabu muda yaani sekunde. Kisha uweke kwenye program ya kuuliza swali. Hivyo itakuwa ukihesabu zikitimia sekunde flani in stop.

 

Kufanya hivi tutatumia function ya setinterval. kwa mfano hapo tutaset program ya kuhesabu kila baada ya millsecond 1000 maana kila baada ya dakika 1.

 

Kanuni za kuandika setInterval ni sawa na zile za kuandika setTimeout. Kikubwa cha kuzingatio ni kuwa timeInterval itakuwa inaendelea ku excute kila baada ya huo muda ulioweka bila ya kikomo mpaka pale utakapo fanya i stop.

 

<html>

<head>

 <title>Mafunzo ya javascript</title>

</head>

</html>

<body>

<p id="showTime"></p>

<script>

 var hesabu = 0;

 var muda = setInterval(function (){

   hesabu += 1;

   document.getElementById("showTime").innerHTML = hesabu;

 }, 1000);

</script>

</body>

 

Unaweza kuweka timeinterval zaidi ya moja kwenye code, pia unaweza kucanganya na setTimeout zaidi ya moja kweye ukurasa mmoja. Sasa kama nilivyo kueleza kuwa code zitaendelea ku excute kila baada ya muda fulani, mpaka utakapo sitisha kufanya hivyo.


 

Jinsi ya kusitisha timeInterval() na setTimeout():

ili kuweza kusitisha settimeout() tutatumia method hii clearTimeout() na ukitaka kusitisha setinterval() tutatumia method hii clearInterval()

 

Mfano 1: kusitisa setinterval

<html>

<head>

 <title>Mafunzo ya javascript</title>

</head>

</html>

<body>

<p id="showTime"></p>

<button onclick="sitisha()">Sitisha Muda</button>

<script>

 var hesabu = 0;

 var muda = setInterval(function (){

   hesabu += 1;

   document.getElementById("showTime").innerHTML = hesabu;

 }, 1000);

 function sitisha(){

   clearInterval(muda);

 }

</script>

</body>

 

Hapo ukibofya batani utaona itasimama kuhesabu kumaanisha kuwa action cancelled.

 

Kusitisha setTimeout:

<html>

<head>

 <title>Mafunzo ya javascript</title>

</head>

</html>

<body>

<h2>Jaza kitendawili hiki</h2>

<form>

 <label>Haba na haba hujaza _______________</label><br><br><br>

 <input type="text" placeholder="Jaza jibu hapa">

</form>

<br><button onclick="sitisha()">Sitisha Muda</button>

 

<script>

 function quiz (){ document.write("Muda umekwisha")}

 var muda = setTimeout(quiz, 5000);

 function sitisha(){

   clearTimeout(muda);

   document.write("Muda umesitishwa");

 }

</script>

</body>

kama utabofy batani ya kusitisha muda utambiwa muda umekwisha