PDA

View Full Version : Timer not correct



StevePoole
03-22-2006, 11:05 AM
Dynamic countdown Script II
http://www.shownomercyclan.co.uk

Hi

I seem to be having a problem with the countdown for this script. I enter the year, month, day, hour etc etc and it shows the wrong countdown info. Where does it take the current date and time from?

Thanks

Twey
03-22-2006, 11:41 AM
The client machine.

StevePoole
03-22-2006, 11:51 AM
So is the client machine the problem in this case?

Twey
03-22-2006, 11:57 AM
It's a possibility. You could also have set the script up incorrectly.

StevePoole
03-22-2006, 12:59 PM
This is what I have

<script language="JavaScript1.2">

/*
Dynamic countdown Script- Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/


function setcountdown(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
}

//////////CONFIGURE THE COUNTDOWN SCRIPT HERE//////////////////

//STEP 1: Configure the countdown-to date, in the format year, month, day, hour(0=midnight,23=11pm), minutes, seconds:
setcountdown(2006,03,22,20,00,)

//STEP 2: Change the two text below to reflect the occasion, and message to display on that occasion, respectively
var occasion="TEST"
var message_on_occasion="You have missed the match"

//STEP 3: Configure the below 5 variables to set the width, height, background color, and text style of the countdown area
var countdownwidth='195px'
var countdownheight='100px'
var countdownbgcolor='transparent'
var opentags='<strong><font color="white" size="2" face="Verdana">'
var closetags='</font></strong>'

//////////DO NOT EDIT PAST THIS LINE//////////////////

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var crosscount=''

function start_countdown(){
if (document.layers)
document.countdownnsmain.visibility="show"
else if (document.all||document.getElementById)
crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie
countdown()
}

if (document.all||document.getElementById)
document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+'"></span>')

window.onload=start_countdown


function countdown(){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[mo-1]+" "+da+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
//if on day of occasion
if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1&&todayd==da){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+message_on_occasion+closetags
return
}
//if passed day of occasion
else if (dday<=-1){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+"Occasion already passed! "+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+"Occasion already passed! "+closetags
return
}
//else, if not yet
else{
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+dday+ " Days<br> "+dhour+" Hours<br> "+dmin+" Minutes<br> "+dsec+" Seconds<br><br> "+occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+ " days<br> "+dhour+" hours<br> "+dmin+" minutes<br> "+dsec+" seconds<br><br> "+occasion+closetags
}
setTimeout("countdown()",1000)
}
</script>

<ilayer id="countdownnsmain" width=&{countdownwidth}; height=&{countdownheight}; bgColor=&{countdownbgcolor}; visibility=hide><layer id="countdownnssub" width=&{countdownwidth}; height=&{countdownheight}; left=0 top=0></layer></ilayer>

Note the date and time is for today yet it is shown as "you have missed match"

Twey
03-22-2006, 03:56 PM
For a start, this trailing comma is wrong:
setcountdown(2006,03,22,20,00,)Secondly, although the comment says you can have hours, minutes and seconds, the function setcountdown() seems to only use three arguments: year, month, day.