[JavaScript] Countdown mehrmals auf einer Seite

Chakay

Cadet 2nd Year
Registriert
Mai 2004
Beiträge
16
Was für Teile des folgenden Scriptes muss man ändern um den Countdown mehrmals auf der selben Seite mit anderer Endzeit ausführen zu lassen? Einfach das selbe Script mit anderer Zeit nochmal ausführen funktioniert ja nicht.
Ich habe schon probiert Teile abzuändern, jedoch habe ich keine Lösung für das Problem gefunden.

Code:
<script language="JavaScript1.2">
 function setcountdown(theyear,themonth,theday,thehour,themin,thesec){
 yr=theyear;mo=themonth;da=theday;hr=thehour;min=themin;sec=thesec
 }
    //Count down to date. format: year, month, day, hour, minute, second
 setcountdown(2004,08,08,00,00,00)

    //the event msg and msg when its the time of the event
 var occasion=""
 var message_on_occasion="Countdown beendet"

    //text hieght, width, bgcolor etc. subSilver default
 var countdownwidth='200px'
 var countdownheight='20px'
 var countdownbgcolor='FFFFFF'
 var opentags=''
 var closetags=''


 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+" "+hr+":"+min+":"+sec
 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
 }

 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+ " Tage, "+dhour+" Stunden, "+dmin+" Minuten, und "+dsec+" Sekunden  bis zum  "+occasion+closetags)
 document.countdownnsmain.document.countdownnssub.document.close()
 }
 else if (document.all||document.getElementById)
 crosscount.innerHTML=opentags +dday+ " : "+dhour+" : "+dmin+" : "+dsec+"  "+occasion+closetags
 }
 setTimeout("countdown()",1000)
 }
 </script>

 <ilayer id="countdownnsmain" width=&; height=&; bgColor=&; visibility=hide><layer id="countdownnssub" width=&; height=&; left=0 top=0></layer></ilayer>
 
Re: [JavaScript]Countdown mehrmals auf einer Seite

Wenn mir keiner bei dem Problem helfen kann: Kennt irgendjemand ein ähnliches Script bei dem das funktioniert?
 
Ohne mir das Script jetzt genauer angeguckt zu haben, aber kann es sein, dass da globale Vars gesetzt werden und die dann vom zweiten Counter übernommen bzw. überschrieben werden?!

nenn die Vars mal um und guck ob das hilft
bin jetzt zu faul das script aufzudröseln :)
 
Zurück
Oben