Datalogi
JavaScript
Side 6 af 9
o
Den betingede sætning
if
(diff>2500)
undersøger, om der er gået 2½ sekund
(2500 millisekunder) siden det seneste diasskift, og
next()
kaldes, hvis og kun
hvis dette er sandt.
Når prøven er afsluttet, hentes evalueringsfilen
end.html
ind i nederste del af projektets
frame
:
•
I variablen
flaw
hentes oplysningerne om, hvilke dias der er besvaret forkert, fra det
input
af typen
hidden
, der har navnet
flaw
. Da et
input
af typen
hidden
ikke kan
indeholde et
array
, er den oprindelige variabel konverteret til formen
»
true,true,false,true,…
«. For at returnere indholdet som
array
benyttes funk-
tionen
split()
med parameteren
','
på strengen.
•
Antallet af fejl hentes ind i variablen
flaws
fra det
input
af typen
hidden
, der har
navnet
flaws
.
•
Øverste del af dokumentets
frame
rømmes og erstattes af en meddelelse om, at prø-
ven er afsluttet, så knappen Fortsæt heller ikke længere er tilgængelig.
•
3 strengvariable initialiseres med den tekst, der skal skrives, hvis prøven er fejlfri
(
flawless
), bestået med fejl (
passed
) eller dumpet (
failed
). Hvis der er fejl, infor-
merer strengen endvidere om antallet.
•
Et
array
med forklarende tekst til alle billederne defineres under navnet
expl
. Igen er
det gældende, at JavaScript tæller fra
0
i stedet for
1
, så
expl[i-1]
vil indeholde for-
klaringen til dias nummer
i
.
•
Funktionen
large(pic)
med parameteren
pic
viser dias nummer
pic
i fuld størrel-
se:
o
Da pic repræsenterer nummeret på det billede, der skal vises, initialiseres file med
filnavnet på det pågældende billede således, at der ved en betinget sætning sættes
et 0 foran, hvis pic er etcifret.
o
Herefter åbnes vinduet
largepic
. Den første parameter er tom, fordi ingen speciel
fil åbnes. Den anden parameter er tom, fordi vinduet ikke skal have en speciel type.
Den tredje parameter angiver, at vinduet ikke skal have statuslinje og rullepaneler.
o
I det nye vindue skrives med
document.write
et HTML-flag således, at vinduet
lukker automatisk ved et klik heri:
<body onclick="self.close();">
.
o
Endvidere skrives et flag, der indlæser billedet
file
i det nye vindue.
o
For at placere det nye vindue midt på skærmen indlæses skærmens bredde med
screen.availWidth
, hvor billedets bredde trækkes fra, inden tallet halveres og
tildeles variablen
x
. Tilsvarende for højden
screen.availHeight
beregnes og
indsættes tallet i variablen
y
.
o
Det nyåbnede vindue centreres nu på skærmen med
largepic.moveTo(x,y)
.