Ga naar inhoud

[PHP + Javascript] lopende klok op de pagina


Aanbevolen berichten

Op dit moment gebruik ik javascript om de huidige tijd op het scherm te toveren en die ook steeds bij te werken per seconde. In IE6 werkt het geweldig, maar met Firefox zie ik helemaal niets. Wat kan ik doen zodat ook de gebruikers met Firefox die lopende klok gaan zien? Mijn script ziet er als volgt uit: [code:1:15c5ac66a3]<!-- Begin function funClock() { if (!document.layers && !document.all) { 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) { document.layers.clock.document.write(movingtime); document.layers.clock.document.close(); } else { clock.innerHTML = movingtime; } setTimeout('funClock()', 1000) } window.onload = funClock; End --> [/code:1:15c5ac66a3] Is een lopende klok ook mogelijk in alleen maar PHP of kan ik vanuit javascript iedere seconde een php script aanroepen? Zo ja, hoe werkt dat dan? En gaat dat dan wel werken in Firefox?
Link naar reactie
Een lopende klok is een typische client-toepassing en daarom heeft php geen enkele toegevoegde waarde. Met javascript moet het gewoon mogelijk zijn. Het probleem is dat je voor Firefox andere code moet gebruiken om de layers aan te sturen dan voor IE. Daarom kun je beter een dhtml-script libary gebruiken die alle grote browsers ondersteunt, bijvoorbeeld Klayers (http://www.kruglov.ru/klayers/english/).
Link naar reactie
Misschien is het net zo handig om gewoon een paar regeltjes toe te voegen aan het bestaande script. [code:1:8128a10074] <script type="text/javascript"> function funClock() { if (!document.layers && !document.all && !document.getElementById) { 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) { document.layers.clock.document.write(movingtime); document.layers.clock.document.close(); } else if(document.all) { document.all['clock'].innerHTML = movingtime; } else { document.getElementById('clock').innerHTML = movingtime; } setTimeout('funClock()', 1000) } window.onload = funClock; </script> [/code:1:8128a10074]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...