Miten saa laskurin laskemaan tunnilleen ja minuutilleen annettuun aikaan? Tämä koodi laskee vaan kuinka kauan siihen annettuun päivään on aikaa...
<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: setcountdown(2005,05,08) //STEP 2: Change the two text below to reflect the occasion, and message to display on that occasion, respectively var occasion="Formula" var message_on_occasion="Viikonlopun GP käynnissä!" //STEP 3: Configure the below 5 variables to set the width, height, background color, and text style of the countdown area var countdownwidth='516px' var countdownheight='20px' var countdownbgcolor='#FFFFFF' var opentags='<font face="Arial" color="red"><small>' var closetags='</small></font>' //////////DO NOT EDIT PASS 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+"Viikonlopun GP ohi, odottele tuloksia!"+closetags) document.countdownnsmain.document.countdownnssub.document.close() } else if (document.all||document.getElementById) crosscount.innerHTML=opentags+"Viikonlopun GP ohi, odottele tuloksia!"+closetags return } //else, if not yet else{ if (document.layers){ document.countdownnsmain.document.countdownnssub.document.write(opentags+"GP:n alkuun: "+dday+ " päivää, "+dhour+" tuntia, "+dmin+" minuuttia, ja "+dsec+" sekuntia"+closetags) document.countdownnsmain.document.countdownnssub.document.close() } else if (document.all||document.getElementById) crosscount.innerHTML=opentags+"Espanjan GP:n alkuun: "+dday+ " päivää, "+dhour+" h, "+dmin+" min, ja "+dsec+" s"+closetags } setTimeout("countdown()",1000) } </script>
Tuostahan sen voisi itsekin parseroida käyttäen hieman maalaisjärkeä. Periaatteessa siis otetaan vain kykyinen aika ja verrataan sitä toiseen, ennalta asetettuun aikaan. Nykyisen ajan saat noilla getYear() ym. komennoilla, ja loppupäivämääärä ja -aika sinulla onkin tiedossa.
Ratkaistavana:
1. Päivämäärien/aikojen erotus
2. Eron muuntaminen tulostettavaan muotoon
Kysellä toki voi, mutta valmista koodia ei edelleenkään mielellään tuputeta; on parempi oppia tekemään kakkuja itse kuin syödä valmista, kuivaa kiivikakkua päivästä toiseen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.