IKLOP
02-07-2003, 08:27 PM
I've been working on a clock that is initialized by the server time, then uses javascript to increase the time. I got it working, but I get errors. When I use IE 5.5 it says "Done, but with error's on the page" and it doesn't display the clock at all in Mozilla. Here's the code I use:
<script language='JavaScript' type='text/javascript'>
<!--
var clientdate = new Date();
var serverdate = new Date(<?php echo date("Y,m,d,H,i,s");?>);
var hourdif = clientdate.getHours() - serverdate.getHours();
serverdate.setHours( serverdate.getHours() + hourdif );
serverdate.setSeconds( serverdate.GetSeconds() - 1000 );
function clock()
{
if (!document.layers && !document.all)
{
return;
}
setTimeout("clock();",1000);
serverdate.setTime(serverdate.getTime()+1000);
var year = serverdate.getYear();
var month = serverdate.getMonth();
var day = serverdate.getDate();
var hours = serverdate.getHours();
var minutes = serverdate.getMinutes();
var seconds = serverdate.getSeconds();
if (day < 10) day = "0" + day;
if (month < 10) month = "0" + month;
if (hours > 11) amOrPm = "PM";
if (hours > 12) hours = hours - 12;
if (hours == 0) hours = 12;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
dispDate = year + "." + month + "." + day + " - " + hours + ":" + minutes + ":" + seconds + " " + amOrPm;
if (document.layers)
{
document.layers.timer.document.write(dispDate);
document.layers.timer.document.close();
}
else
{
timer.innerHTML = dispDate;
}
}
-->
</script>
I then have a span tag with name='timer' which is where the time is displayed. If you want, you can see it in the link in my sig.
All help is greatly appreciated.
Thanks in advanced.
<script language='JavaScript' type='text/javascript'>
<!--
var clientdate = new Date();
var serverdate = new Date(<?php echo date("Y,m,d,H,i,s");?>);
var hourdif = clientdate.getHours() - serverdate.getHours();
serverdate.setHours( serverdate.getHours() + hourdif );
serverdate.setSeconds( serverdate.GetSeconds() - 1000 );
function clock()
{
if (!document.layers && !document.all)
{
return;
}
setTimeout("clock();",1000);
serverdate.setTime(serverdate.getTime()+1000);
var year = serverdate.getYear();
var month = serverdate.getMonth();
var day = serverdate.getDate();
var hours = serverdate.getHours();
var minutes = serverdate.getMinutes();
var seconds = serverdate.getSeconds();
if (day < 10) day = "0" + day;
if (month < 10) month = "0" + month;
if (hours > 11) amOrPm = "PM";
if (hours > 12) hours = hours - 12;
if (hours == 0) hours = 12;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
dispDate = year + "." + month + "." + day + " - " + hours + ":" + minutes + ":" + seconds + " " + amOrPm;
if (document.layers)
{
document.layers.timer.document.write(dispDate);
document.layers.timer.document.close();
}
else
{
timer.innerHTML = dispDate;
}
}
-->
</script>
I then have a span tag with name='timer' which is where the time is displayed. If you want, you can see it in the link in my sig.
All help is greatly appreciated.
Thanks in advanced.