Tid i javaScript

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

Hvad kan man med tid i javaScript?

Man kan grundlæggende bruge tid på to måder.

  1. Man kan aflæse det indbyggede ur
  2. Man kan sætte noget til at ske om en vis tid eller med et fast interval

Den første del kan anvendes til at vise brugeren hvad klokken er, når siden loades, eller hvilken dato det er, men man kan også registrere hvornår en hændelse er sket, og ved at registrere en tid senere, så kan man få en præcis registrering af hvor lang tid der er gået mellem to hændelser.

Den anden kan anvendes til at få noget til at ske på et senere tidspunkt, eller med et fast mellemrum. Det kan være en forsinket visning af et eller andet, eller at man venter på at brugeren indtaster noget, og kommer med en besked, hvis brugeren ikke reagerer.

Intervallet er specielt effektivt, hvis man vil have en løbende opdatering af noget, som f.x. et ur der skal opdatere hele tiden, eller skal have noget til at bevæge sig, ved at man hele tiden flytter på objektets position.

Det indbyggede ur

For at komme i kontakt med det indbyggede ur skal man have fat i Date objektet, der kan hente tiden lige nu, og den kan også lave et objekt, der står til et ønsket tidspunkt.

Har man brug for at udskrive dato og tid kan det gøres som følger:

nu = new Date();
document.write(nu.toLocaleString());

Opsætning af en tidsevent

Hvis man f.x. vil have en besked til at komme efter en 20 sekunder, så kan man bruge setTimeout til at gøre det med.

Man kan selvfølgelig definere sin egen funktion og kalde den, men her anvendes bare en alert direkte:

setTimeout(”alert(’Der er gået 20 sekunder’ )”, 20000);

De 20000 er tiden i millisekunder

Opsætning af et tidsinterval

Hvis man vil have et ur til at opdatere hvert minut (60 sekunder), så kan man bruge setInterval til at gøre det med.

Man skal have sat intervallet op et sted i koden der afvikles når siden loades. Det gør man ved at skrive:

setInterval(”visKlokken()”, 60000);

De 60000 er 60 sekunder i millisekunder og visKlokken() er en funktion der defineres som følger. Her går jeg ud fra at der er et input-felt med ID klokken, så jeg kan skrive tiden der.

function visKlokken() {
    nu = new Date()
    document.getElementById(”klokken”).value = nu.toLocaleString();
}