12. oktober 2006 - 21:55Der er
6 kommentarer og 1 løsning
Nedtælling til tidspunkt hvert år
Hej,
jeg har set lidt på nogen tællere andre har fået hjælp til herinde - men de har alle den "svaghed" at de alle tæller ned til at specifikt tidspunkt... Jeg vil gerne have en lign. tæller - helst i php - og den skal tælle ned til f.eks. 15. juli - den skal vise måneder, dage, timer, minutter og sekunder... Måden den skiller sig lidt ud er at den IKKE skal tælle ned til et bestemt årstal - den skal bare tælle til den dato - når den rammer den, så skal den tælle til den igen - altså til næste år...
Dog er der det problem, at en måned jo ikke er ens, derfor er det svært at sige, hvor mange måneder der til en dag, hvis man bagefter også skal angive dage, timer, minutter og sekunder. Derfor angiver ovenstående ikke måneder. Ellers må du sige, om en måned er 30 dage - eller om du blot vil have som p.t. okt->jul = 8 eller 9 måneder, afhængig af om man regner oktober og juli med.
Altså umiddelbart må jeg sige at den ser meget fornuftig ud - jeg glemte bare at skrive en ting.. den skal helst opdatere i realtime.... er det noget du lige kan svinge eller det en større omgang?
Det kan ikke lade sig gøre. I hvert fald, så skal du have sat siden til at reloade hvert sekund, eller smide ovenstående i f.eks. en iFrame, der så refresher hvert sekund...
Man kan så også lave det i javascript, hvor det kan opdateres realtime. Selvom jeg ikke er verdens største javascript-haj, så har jeg bikset noget sammen, som faktisk ser ud til at virke:
<script type='text/javascript'> today = new Date(); var now = today.getTime(); BigDay = new Date("July 15, " + today.getYear()); var to = BigDay.getTime(); if(to < now) { BigDay = new Date("July 15, " + (today.getYear()+1)); var to = BigDay.getTime(); } function countDown() { now = now + 1000; var diff = to - now; var days = Math.floor(diff / 86400000); var hours = Math.floor((diff - (days * 86400000)) / 3600000); var minutes = Math.floor((diff - (days * 86400000) - (hours * 3600000)) / 60000); var seconds = Math.floor((diff - (days * 86400000) - (hours * 3600000) - (minutes * 60000))/1000);
this.testfield.value = "Der er " + days + " dage, " + hours + " timer, " + minutes + " minuter og " + seconds + " sekunder til næste gang det er d. 15. juli."; } window.onload = function(){countDown();setInterval('countDown()',1000)} </script>
Ret skal være ret - og din løsning virker, det er det vigtigste for mig ;o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.