Javascript klokje

Status
Niet open voor verdere reacties.

bastiaan1

Nieuwe gebruiker
Lid geworden
23 okt 2009
Berichten
1
hallo,

Voor school moeten we het script uitleggen van een klok.
Een aantal dingen weten we al,maar sommige ook niet.
het gaat om deze scipt:
[js]
<script type="text/javascript">

function funClock()
{
if (!document.layers && !document.all && !document.getElementById) // Hier
{
return;
}
var months=new Array(13);
months[1]='januari';
months[2]='februari';
months[3]='maart';
months[4]='april';
months[5]='mei';
months[6]='juni';
months[7]='juli';
months[8]='augustus';
months[9]='september';
months[10]='october';
months[11]='november';
months[12]='december';
var day=new Array(7);
day[0]='zondag';
day[1]='maandag';
day[2]='dinsdag';
day[3]='woensdag';
day[4]='donderdag';
day[5]='vrijdag';
day[6]='zaterdag';
var runTime = new Date();
var lmonth=months[runTime.getMonth() + 1];
var date=runTime.getDate();
var year=runTime.getYear();
var today = day[runTime.getDay()];
var hours = runTime.getHours();
var minutes = runTime.getMinutes();
var seconds = runTime.getSeconds();
if (year < 2000)
{
year = year + 1900;
}
if (minutes <= 9)
{
minutes = '0' + minutes;
}
if (seconds <= 9)
{
seconds = '0' + seconds;
}
movingtime = '<b>' + today + ' ' + date + ' ' + lmonth + ' ' + year + '&nbsp;&nbsp;' + hours + ':' + minutes + ':' + seconds + '</b>';
if (document.layers) // Hier
{
document.layers.clock.document.write(movingtime);
document.layers.clock.document.close();
}
else if(document.all) // Hier
{
document.all['clock'].innerHTML = movingtime;
}
else
{
document.getElementById('clock').innerHTML = movingtime;
}
setTimeout('funClock()', 1000)
}
window.onload = funClock;
</script>
[/js]
Het rood gekleurde De regels met commentaar weten we helemaal nog niet.
Wil iemand helpen met de hele script of die 3 rood gekleurde stukken?
alvast bedankt.
 
Laatst bewerkt door een moderator:
Uhm... waarom checken 'jullie' precies op layers, all EN gEBI (getElementById())?

De meeste moderne (dat is: IE boven de 6 (meen ik), firefox, opera, safari, chrome en bijvoorbeeld de android browser kunnen allemaal gEBI aan.




aaanywho - een uitlegje:
Als je in Javascript een functie bij naam neerzet, zonder call - dus alleen de naam zegmaar -
retourneert deze een boolean (true OF false) welke aangeeft of de funtie bestaat. Zoiets:
[JS]function test()
{
alert('ik besta');
}

if(test)
{
//functie 'test' bestaat!
]
}else{
//funtie 'test' bestaat niet!
}[/JS]
in dit geval bestaat ie dus wel, want hij is erboven gemaakt.

Browsers hebben een aantal standaardfuncties, zoals de gEBI. Maar, niet alle browsers ondersteunen deze (noot: alle browsers tussen 2 jaar geleden en nu ondersteunen deze meestal wel).


In jullie klok-voorbeeld, check je dus eerst of het een van de 3 mogelijke functies om html aan te passen, ondersteund. Zo niet, stopt het de functie.

Daarna (onderaan) checkt het per 'functie' of deze gebruikt kan worden. Zo niet, probeer een andere.



IK kan natuurlijk een verhaal beginnen waarom het script inefficient en niet echt... vernieuwend is, maargoed. Het werkt waarschijnlijk wel. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan