START STOP timerfunktion förklarad längre ner |
Teckning av en
marmorfigurin från ön Keros i den grekiska ögruppen
Kykladerna. Figurinen är från någon gång före
år 2000 f Kr och
finns på nationalmuseet i Athen. TiMER En Javascript-timer kan se ut så här: min_timer = setTimeout("iljtimer4()",10) Syntaxen är: setTimeout("GÖR NÅGOT",NÄR) Exemplet setTimeout("iljtimer4()",10) betyder alltså: anropa funktionen iljtimer4() efter 10 millisekunder. Om timern finns inne i den funktion den kallar på, så här: function iljtimer4() { setTimeout("iljtimer4()",10) } så kommer funktionen iljtimer4() att kalla på sig själv var 10:e millisekund i all oändlighet. Om man startar en timer och kallar den min_timer så här: min_timer = setTimeout("iljtimer4()",10) så kan man stoppa den med följande rad: clearTimeout(min_timer) Om man vill hålla reda på hur länge en timer varit igång kan man använda ett räkneverk, så här: raekneverk=0; function iljtimer4() { setTimeout("iljtimer4()",10) raekneverk=raekneverk+1; } Först skapar man ett nollställt räkneverk utanför funktionen: raekneverk sätts till 0 när sidan laddas. Varje gång funktionen iljtimer4() anropar sig själv räknas raekneverk upp med 1. Om man vill stoppa timern när raekneverk kommit till 5 kan man använda följande: if(raekneverk==5) {clearTimeout(min_timer)} Hela timern ser då ut så här: raekneverk=0; function iljtimer4() { setTimeout("iljtimer4()",10) raekneverk=raekneverk+1; if(raekneverk==5) {clearTimeout(min_timer)} } För att kolla om timern funkar kan man låta den skriva vad räkneverket står på. Man kan t ex printa siffran i fönsterkanten. Så här: window.status='Räkneverk: '+raekneverk Hela timern ser då ut så här: raekneverk=0; function iljtimer4() { setTimeout("iljtimer4()",10) raekneverk=raekneverk+1; window.status='Räkneverk: '+raekneverk; if(raekneverk==5) {clearTimeout(min_timer)} } Om man har en bild på sin HTML-sida och bilden fått namnet bildplats kan man låta timern visa en ny bild där, t ex: raekneverk=0; function iljtimer4() { setTimeout("iljtimer4()",10) raekneverk=raekneverk+1; if(raekneverk==5) document.images.bildplats.src='bild5.gif' if(raekneverk==5) {clearTimeout(min_timer)} } (Ska timern använas till att byta bilder bör man se till att förladda bilderna så att de snabbt kommer på plats. Se t ex exempel 62 om hur man gör det.) Visa en ny HTML-sida efter en sekund? Så här kan man göra det: function visa_ny_sida() { setTimeout("window.location='ny.html'",1000) } Om du placerar funktionen ovan mellan HEAD- och SCRIPT-taggar i en fil som heter old.html och anropar funktionen genom att använda följande BODY-tagg i samma fil <BODY ONLOAD="visa_ny_sida()"> så kommer alla som öppnar old.html att automatiskt komma till ny.html. Om du klickar på den här länken kommer du till javaskriptexempel 62 om en halv sekund. Sidan gjordes av ilj@flowsim.se Senast ändrad 17 maj 1998. http://www.flowsim.se |