bluewalrus
06-08-2011, 09:32 PM
So I have this code that is counting down to a date June 28th 7pm (unspecified in this code 2011 and 7:30pm, 1/2 not so important). After June 28th though I'm guessing it will restart the counting till next years June 28th, is this correct? If so does anyone know how I can correct this, or of a script out there that already does this? I had one a few months ago but lost it. If I'm incorrect about the recounting can someone explain how the JS knows to stop on June 28th 2011? Thanks. For the live example you can see it here http://chrisisdoingwhat.com/.
<SCRIPT type="text/javascript">
// **** Time Zone Count Down Javascript **** //
/*
Visit http://rainbow.arch.scriptmania.com/scripts/
for this script and many more
*/
////////// CONFIGURE THE COUNTDOWN SCRIPT HERE //////////////////
var month = '6'; // '*' for next month, '0' for this month or 1 through 12 for the month
var day = '28'; // Offset for day of month day or + day
var hour = 19; // 0 through 23 for the hours of the day
var tz = -5; // Offset for your timezone in hours from UTC
var lab = 'countdown'; // The id of the page entry where the timezone countdown is to show
function start() {displayTZCountDown(setTZCountDown(month,day,hour,tz),lab);}
// ** The start function can be changed if required **
window.onload = start;
////////// DO NOT EDIT PAST THIS LINE //////////////////
function setTZCountDown(month,day,hour,tz) {
var toDate = new Date();
if (month == '*')
toDate.setMonth(toDate.getMonth() + 1);
else if (month > 0) {
if (month <= toDate.getMonth())
toDate.setYear(toDate.getYear() + 1);
toDate.setMonth(month-1);
}
if (day.substr(0,1) == '+') {
var day1 = parseInt(day.substr(1));
toDate.setDate(toDate.getDate()+day1);
} else {
toDate.setDate(day);
}
toDate.setHours(hour);
toDate.setMinutes(0-(tz*60));
toDate.setSeconds(0);
var fromDate = new Date();
fromDate.setMinutes(fromDate.getMinutes() + fromDate.getTimezoneOffset());
var diffDate = new Date(0);
diffDate.setMilliseconds(toDate - fromDate);
return Math.floor(diffDate.valueOf()/1000);
}
function displayTZCountDown(countdown,tzcd) {
if (countdown < 0)
document.getElementById(tzcd).innerHTML = '<img src="oregon_trail.jpg" alt="opps?" /><br />The adventures begun.';
else {
var secs = countdown % 60;
if (secs < 10)
secs = '0'+secs;
var countdown1 = (countdown - secs) / 60;
var mins = countdown1 % 60;
if (mins < 10)
mins = '0'+mins;
countdown1 = (countdown1 - mins) / 60;
var hours = countdown1 % 24;
var days = (countdown1 - hours) / 24;
document.getElementById(tzcd).innerHTML = days + " day" + (days == 1 ? '':'s') + ' ' +hours+ ':' +mins+ ':'+secs+'';
setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',999);
}
}
</SCRIPT>
<SCRIPT type="text/javascript">
// **** Time Zone Count Down Javascript **** //
/*
Visit http://rainbow.arch.scriptmania.com/scripts/
for this script and many more
*/
////////// CONFIGURE THE COUNTDOWN SCRIPT HERE //////////////////
var month = '6'; // '*' for next month, '0' for this month or 1 through 12 for the month
var day = '28'; // Offset for day of month day or + day
var hour = 19; // 0 through 23 for the hours of the day
var tz = -5; // Offset for your timezone in hours from UTC
var lab = 'countdown'; // The id of the page entry where the timezone countdown is to show
function start() {displayTZCountDown(setTZCountDown(month,day,hour,tz),lab);}
// ** The start function can be changed if required **
window.onload = start;
////////// DO NOT EDIT PAST THIS LINE //////////////////
function setTZCountDown(month,day,hour,tz) {
var toDate = new Date();
if (month == '*')
toDate.setMonth(toDate.getMonth() + 1);
else if (month > 0) {
if (month <= toDate.getMonth())
toDate.setYear(toDate.getYear() + 1);
toDate.setMonth(month-1);
}
if (day.substr(0,1) == '+') {
var day1 = parseInt(day.substr(1));
toDate.setDate(toDate.getDate()+day1);
} else {
toDate.setDate(day);
}
toDate.setHours(hour);
toDate.setMinutes(0-(tz*60));
toDate.setSeconds(0);
var fromDate = new Date();
fromDate.setMinutes(fromDate.getMinutes() + fromDate.getTimezoneOffset());
var diffDate = new Date(0);
diffDate.setMilliseconds(toDate - fromDate);
return Math.floor(diffDate.valueOf()/1000);
}
function displayTZCountDown(countdown,tzcd) {
if (countdown < 0)
document.getElementById(tzcd).innerHTML = '<img src="oregon_trail.jpg" alt="opps?" /><br />The adventures begun.';
else {
var secs = countdown % 60;
if (secs < 10)
secs = '0'+secs;
var countdown1 = (countdown - secs) / 60;
var mins = countdown1 % 60;
if (mins < 10)
mins = '0'+mins;
countdown1 = (countdown1 - mins) / 60;
var hours = countdown1 % 24;
var days = (countdown1 - hours) / 24;
document.getElementById(tzcd).innerHTML = days + " day" + (days == 1 ? '':'s') + ' ' +hours+ ':' +mins+ ':'+secs+'';
setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',999);
}
}
</SCRIPT>