|
Posted by Iggep on 09/18/05 23:40
I realize this isn't exactly a PHP problem, but I'm hoping someone here
can see whatever it is I'm evidently missing. The script works just
fine in normal html, but refuses to run when I attempt to embed this in
one of my php pages. Which leads me to believe I've made a formatting
mistake of some type.
I'm trying to call the javascript in this portion of code
//INCLUSION OF COUNTDOWN TIMER
."<tr><td colspan=2><SCRIPT language='JavaScript'
SRC='countdown.js'></SCRIPT><center><script
type='text/javascript'>countdown_clock(05, 11, 19, 08, 00,
1);</script></center></td></tr>\n"
."</table>\n"
countdown.js looks like this:
<script type=\"text/javascript\">
function countdown_clock(year, month, day, hour, minute, format)
{
//I chose a div as the container for the timer, but
//it can be an input tag inside a form, or anything
//who's displayed content can be changed through
//client-side scripting.
html_code = '<div id=\"countdown\"></div>';
document.write(html_code);
countdown(year, month, day, hour, minute, format);
}
function countdown(year, month, day, hour, minute, format)
{
Today = new Date();
Todays_Year = Today.getYear() - 2000;
Todays_Month = Today.getMonth() + 1;
//Convert both today's date and the target date into
miliseconds.
Todays_Date = (new Date(Todays_Year, Todays_Month,
Today.getDate(),
Today.getHours(), Today.getMinutes(),
Today.getSeconds())).getTime();
Target_Date = (new Date(year, month, day, hour, minute,
00)).getTime();
//Find their difference, and convert that into seconds.
Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
if(Time_Left < 0)
Time_Left = 0;
switch(format)
{
case 0:
//The simplest way to display the time left.
document.all.countdown.innerHTML = Time_Left + '
seconds';
break;
case 1:
//More datailed.
days = Math.floor(Time_Left / (60 * 60 * 24));
Time_Left %= (60 * 60 * 24);
hours = Math.floor(Time_Left / (60 * 60));
Time_Left %= (60 * 60);
minutes = Math.floor(Time_Left / 60);
Time_Left %= 60;
seconds = Time_Left;
dps = 's'; hps = 's'; mps = 's'; sps = 's';
//ps is short for plural suffix.
if(days == 1) dps ='';
if(hours == 1) hps ='';
if(minutes == 1) mps ='';
if(seconds == 1) sps ='';
document.all.countdown.innerHTML = days + ' day' +
dps + ' ';
document.all.countdown.innerHTML += hours + ' hour'
+ hps + ' ';
document.all.countdown.innerHTML += minutes + '
minute' + mps + ' and ';
document.all.countdown.innerHTML += seconds + '
second' + sps;
break;
default:
document.all.countdown.innerHTML = Time_Left + '
seconds';
}
//Recursive call, keeps the clock ticking.
setTimeout('countdown(' + year + ',' + month + ',' + day + ','
+ hour + ',' + minute + ',' + format + ');', 1000);
}
</script>
[Back to original message]
|