[js]klok wil niet werken door "settimeout"

Pagina: 1
Acties:

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
Ik heb dus een klokscript, maar hij wil maar niet werken zodra ik de setTimeout er in zet.
Hieronder staat de "foute" code.
code:
1
setTimeout("clock()",999)

Als ik van een andere script de timeout er bij zet dan doet het ook niet en de fout ligt volgens mijn browser bij regel 1 kolom 1 wat al niet kan.
Kijk voor de gehele bron klik hier
Want ik kom er echt niet meer uit hoe het nou zit. :'(

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:04

Tim Schuhmacher

abasios

in testklok.txt staat alleen dit:
code:
1
<center>zaterdag 20 April, 2002</center><center>23:4:7</center>"

Dat is niet een script.

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
Ja dat klopt maar als je de bron via je beeld uit je menu balk neemt dan pakt ie als goed is wel de goede script.
ik weet ook niet waarom ie dat precies doet.

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:04

Tim Schuhmacher

abasios

nee hoor dan krijg ik gewoon het zelfde als hierboven

  • AceRimmer
  • Registratie: Maart 2001
  • Laatst online: 09-09 18:02

AceRimmer

What a guy...

eerst een opmerking: de array van dagen moet van 0 tot 6 gevuld worden, en 0 is zondag. (tenminste bij mij hier).

Wat de reden is van de fout is denk ik dat de document.write alle code wegpoetst, waardoor de functie niet nog eens aangeroepen kan worden. (Dezelfde reden dat bron bekijken ook alleen maar de 1e output geeft)

Dit is trouwens de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<html>
<head>
<title>testklok</title>
</SCRIPT>
</head>
<body onLoad="runklok()" onUnLoad="stopklok()">
<SCRIPT LANGUAGE="JavaScript">
<!--
var loop = null;

function stopklok()
{
clearTimeout(loop)
}   

function runklok()
{
loop=setTimeout("klok()",500)
}

function klok()
{
var maand=new Array(13);
maand[1]="January";
maand[2]="February";
maand[3]="March";
maand[4]="April";
maand[5]="May";
maand[6]="June";
maand[7]="July";
maand[8]="August";
maand[9]="September";
maand[10]="October";
maand[11]="November";
maand[12]="December";

var dag=new Array(7);
dag[1]="maandag";
dag[3]="dinsdag";
dag[3]="woensdag";
dag[4]="donderdag";
dag[5]="vrijdag";
dag[6]="zaterdag";
dag[7]="zondag";

var time=new Date();
var lmaand=maand[time.getMonth() + 1];
var ldag=dag[time.getDay()];
var datum=time.getDate();
var jaar=time.getYear();
var uur=time.getHours();
var min=time.getMinutes();
var sec=time.getSeconds();

document.write("<center>"+ ldag + " " +datum + " " + lmaand + ", " + jaar + "</center>");
document.write("<center>" + uur + ":" + min +":" + sec + "</center>");

runklok();
} 
//-->
</script>
</body>
</html>

Smoke me a kipper, I'll be back for breakfast


  • AceRimmer
  • Registratie: Maart 2001
  • Laatst online: 09-09 18:02

AceRimmer

What a guy...

OPLOSSING:

In plaats van document.write:
code:
1
divKlok.innerHTML = "<center>"+ ldag + " " +datum + " " + lmaand + ", " + jaar + "</center><center>" + uur + ":" + min +":" + sec + "</center>";

en dus een <div> ergens in de body plaatsen:
code:
1
2
<div name="divKlok" id="divKlok">
</div>

Smoke me a kipper, I'll be back for breakfast


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 05-09 13:16

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
das mooi want ik kwam er zelf ineens achter dat het niet met de timeout fout ging maar met document.write, hoewel ik het niet wist op te lossen.
thnx
Pagina: 1