var tidenNu=new Date();
Funktionen startaKlockan() anropas från händelsehanteraren onLoad i den
inledande BODY-taggen. Sedan deklareras ett nytt Date-objekt med namnet
tidenNu.
var timmeNu=tidenNu.getHours();
Variabeln timmeNu utnyttjar objektet tidenNu för att hämta värdet för
timme. Därefter gör variablerna minutNu och sekundNu samma sak med minut
och sekund.
if (timmeNu<10) ... timmeNu="0"+timmeNu;
När vi skriver ut tiden i klockan, vill vi inte ha den visad som till
exempel 21:1:13 tidvisningen skall alltid använda två siffror vardera
för timme, minut och sekund. När de tre variablerna timmeNu, minutNu och
sekundNu har fått sina värden, undersöker vi därför om värdena är
mindre än 10. I så fall ändrar vi värdet genom att lägga till en nolla
före värdet.
document.klockForm.startPlats.value= ...
Detta betyder: "Skriv på den öppna sidan, i det formulär som heter
klockForm, i den textruta som heter startPlats, in värdet ..." Sedan
fyller vi på med det värde som skall användas inom citationstecknen efter
likhetstecknet anger vi sådant som inte förändras genom variablerna.
"Klockan är " + timmeNu +":"+ minutNu +":"+ sekundNu;
Sedan fyller vi på med det värde som skall användas inom citationstecknen
efter likhetstecknet anger vi sådant som inte förändras genom
variablerna. Koden efter likhetstecknen ger alltså följande: "Klockan
är nu timme:minut:sekund".
setTimeout('startaKlockan()',1000);
Det här viktiga tillägget gör att klockan uppdateras en gång i sekunder
(1000 millisekunder).
BODY-taggen och FORM-taggen
Utöver skriptet lägger vi in en händelsehanterare i BODY-taggen och
formuläret där tiden skall visas.
Lägg märke till style="text-align: Center" i FORM-taggen. Netscape
och Internet Explorer visar textfälten som olika långa. För att hela
texten skall få plats även i Netscape, gör vi raden längre än den
behöver vara i Internet Explorer. Detta leder till att det blir
"textrad över" i Internet Explorer, vilket är fult. Genom att
lägga till det här stilattributet, centrerar vi texten så att den visas
snyggt i båda webbläsarna.
Några variationer
Det här skriptet kan varieras mycket, och vi skall titta på några
metoder i nästa avsnitt. Men redan här tar vi upp två variationer.
Inga sekunder
Känns det oviktigt att visa sekunderna? I så fall kan vi ta bort
sekundvisningen, men ändå få klockan att uppdateras just när minuten
växlar.
Koden kommer att se ut så här jag kopierade några rader extra för
att det skall vara lätt att se var ändringen görs:
|