Datalogi
JavaScript
Side 5 af 9
o
Med
ans = ans+j;
føjes brugerens svar til strengen
ans
.
o
if (ans != cor[i-2])
undersøger, om strengen med brugerens svar afviger
fra den foruddefinerede streng med det korrekte svar. Hvis dette er tilfældet, øges
værdien i
flaws
med 1, da der er lavet en fejl, og
flaw[i-2]
gøres
true
, fordi
der er lavet en fejl i diaset med nummeret
i-2
.
o
Grunden til, at
i-2
benyttes, er, at
¾
JavaScript starter med 0 og ikke 1, hvilket der først tages højde for, og
¾
i
har nummeret på det efterfølgende dias, så der skal korrigeres yderligere.
•
Den betingede sætning
if
(i==26)
undersøger, om det pågældende dias er det sid-
ste spørgsmål. Hvis dette er tilfældet, hentes indholdet af variablerne
flaw
og
flaws
over i to
input
i den øverste
frame
, som ikke udskiftes. De to
input
er af typen
hid-
den
, fordi brugeren ikke skal se, hvad de kommer til at indeholde. Herefter hentes eva-
lueringssiden
end.html
ind i den nederste
frame
. Desuden standses det
interval
,
der har holdt timeren i gang, med funktionen
clearInterval()
, og statuslinjen
rømmes med kommandoen
window.status = ''
, og vinduets titel tilpasses.
•
Den betingede sætning
if
(i==1)
kalder s
etInterval('timer();',1000)
, så
funktionen
timer()
kaldes hvert sekund (hvert 1000. millisekund). Intervallet startes
kun, hvis
next()
er i færd med at skifte fra introduktionsbilledet til første dias.
Da intervallet løber i hele teoriprøven, skal det kun startes én gang. Ellers ville der ske dobbeltkald
af
timer()
, så hastigheden i nedtællingen ville blive fordoblet for hvert nyt dias.
•
Da der er skiftet dias, forøges
i
med
1
, så
next()
er klar til sin næste kørsel.
•
Den aktuelle tid
new Date
indlæses i en
input
af typen
hidden
med navnet
chan-
ge
, så den er opbevaret, til den evt. skal bruges af
wait()
.
wait()
kaldes, når brugeren trykker på Fortsæt:
•
Den betingede sætning
if
(i==1)
undersøger, om det efterfølgende dias er det første.
Hvis dette er tilfældet, må det aktuelle dias være introduktionen, og
timer()
er inak-
tiv, så brugerens aktion skal blot påbegynde prøven, hvorfor
next()
kaldes.
•
Hvis
i
ikke er
1
, følges den anden forgrening i den betingede sætning:
o
Den aktuelle tid
new Date
indlæses i variablen
now
.
o
Den gemte tid i en
hidden
med navnet
change
sættes som parameter i
Date.Parse()
, så tiden konverteres til millisekunder siden referencetidspunktet
1
.
o
Differencen mellem
now
og
change
beregnes og tildeles variablen
diff
.
1
Referencetidspunktet i JavaScript er årsskiftet mellem 1969 og 1970.