Gå til innhold

En teller som teller ned sekundene fra en dato


Anbefalte innlegg

Jeg trenger en teller som teller ned fra 5760 sekunder til 0. Problemet jeg har, er at ingen av de tellerene jeg har funnet teller fra et gitt klokkeslett og dato. De teller fra brukeren oppdaterte siden. Går det, enten med java, asp eller dhtml å lage en teller som gjør oppgaven?

Lenke til kommentar
Videoannonse
Annonse

<html>
<body onLoad="countdown()">
<script language="javascript">

var globalCounter = 5760;
function countdown(value)
{
var divTag = document.getElementById("utText").innerHTML = "Tid igjen: "+value;	
globalCounter--;
setTimeout("countdown(globalCounter)", 1000);

}


</script>
<div id="utText">0</div>
</body>
</html>

 

This should let you get the hang of it....

Lenke til kommentar
<html>
<body onLoad="countdown()">
<script language="javascript">

var globalCounter = 5760;
function countdown(value)
{
var divTag = document.getElementById("utText").innerHTML = "Tid igjen: "+value;	
globalCounter--;
setTimeout("countdown(globalCounter)", 1000);

}


</script>
<div id="utText">0</div>
</body>
</html>

 

Scriptet stopper ikke ved null., følgende tillegg gjør det imidlertid:

 

<html>

<body onLoad ="countdown()">

<script language="javascript">

var globalCounter =20;

function countdown(value)

{

if (globalCounter <= 0)

{

divTag = document.getElementById("utText").innerHTML = "End of count down: "+value;

return;  

}

var divTag = document.getElementById("utText").innerHTML = "Tid igjen: "+value;

globalCounter--;

setTimeout("countdown(globalCounter)", 1000);

}

</script>

<div id="utText">0</div>

</body>

</html>

;)

 

This should let you get the hang of it....

5875945[/snapback]

Endret av backup
Lenke til kommentar

Takker så mye for forslagene:)

Men problemet er at denne telleren starter fra X når webdokumentet lastes. Jeg trenger en variabel til, som i tillegg trekker fra sekundene fra en gitt dato, slik at telleren ikke starter fra X når noen laster dokumentet, men X-A

 

For eksempel:

 

I scriptet er det satt en statisk dato: 09:40:00 04/06-2006

La oss si at X er 4000. Når noen da laster dokumentet 09:42:12 04/06-2006, så skal telleren starte fra 3868, siden det er 132 sekunders forskjell mellom startdato og load-dato.

Endret av neitakk
Lenke til kommentar
Takker så mye for forslagene:)

Men problemet er at denne telleren starter fra X når webdokumentet lastes. Jeg trenger en variabel til, som i tillegg trekker fra sekundene fra en gitt dato, slik at telleren ikke starter fra X når noen laster dokumentet, men X-A

 

For eksempel:

 

I scriptet er det satt en statisk dato: 09:40:00 04/06-2006

La oss si at X er 4000. Når noen da laster dokumentet 09:42:12 04/06-2006, så skal telleren starte fra 3868, siden det er 132 sekunders forskjell mellom startdato og load-dato.

5876123[/snapback]

Kan du ikke bare bruke PHP til å printe ut tiden klokken skal starte fra.

Det burde være enkelt å få til. Vis du kan litt PHP.

 

EDIT: Eller du kan bruke JavaScript til det. Men det aner jeg ikke hvordan man gjør.

Endret av JonT
Lenke til kommentar

<html>
<body onLoad="countdown()">
<script language="javascript">

var statiskDato = new Date(2006,3,7, 09, 12, 50  ); // år, måned, dag, time, minutt, sekund.
// MERK: Måned begynner på 0 i JavaScript. Dvs. at Januar er 0, Februar er 1, Mars er 2 osv. 


function countdown()
{
var naa = new Date();
var naa_milli = naa.getTime();
var statisk_milli = statiskDato.getTime();
var diff = (statisk_milli - naa_milli) / 1000; // gir forskjell i tid i millisekunder

var sekunder = Math.round(diff % 60);
diff /= 60;
var minutter = Math.round(diff % 60);
diff /= 60;
var timer = Math.round(diff % 24);
diff /= 24;
var dager = Math.round(diff % 365);
diff /= 365;
var aar = Math.round(diff % 12);

var divTag = document.getElementById("utText").innerHTML = "Tid igjen: "+sekunder+" sekunder, "+minutter+" minutter, 

"+timer+" timer, "+dager+" dager, "+aar+" år ("+statiskDato.getTime()+") - ("+naa.getTime()+")";
(statiskDato.getTime() <= naa.getTime()) ? alert("fremme") : setTimeout("countdown()", 1000);	

}
</script>
<div id="utText"></div>
</body>
</html>

 

:thumbup:

Endret av Vial
Lenke til kommentar

Kanskje det er dette du vil ha? Her tas differensen i sekunder mellom tiden nå (ved download) og statisk tid. Så telles det ned til null. Da stopper nedtellinga.

 

<html>

<body onLoad ="countdown()">

<script language="javascript">

var statiskDato = new Date(2006,3,7, 12, 43, 00 );

var naa = new Date();

var naa_milli = naa.getTime();

var statisk_milli = statiskDato.getTime();

var diff = (naa_milli - statisk_milli ) / 1000;

var globalCounter =Math.round(diff);

function countdown(value)

{

if (globalCounter <= 0)

{

divTag = document.getElementById("utText").innerHTML = "End of count down: " + value;

return;

}

var divTag = document.getElementById("utText").innerHTML = "Tid igjen: "+value;

globalCounter--;

setTimeout("countdown(globalCounter)", 1000);

}

</script>

<div id="utText">0</div>

</body>

</html>

;)

Lenke til kommentar

Takker så mye. Den koden var perfekt ;)

 

JonT: Går ikke med php for jeg kjører asp, men det er jo sikkert mulig å gjøre det med VbScript også. Dog er java like greit...

 

Edit: Det fungerer ikke helt som tenkt. Telleren starter på differansen mellom nå() og statisk dato i fortid. Dvs. at telleren starter på et høyere tall for hver oppdatering av siden. Ønsket er at telleren skal starte med differansen mellom nå() og en statisk dato i fremtiden.

 

Edit igje: Løste det med å bytte om til

(statisk_milli - naa_milli)

Endret av neitakk
Lenke til kommentar

Det eneste er at nåtida (ved download) tas på klientmaskina. Går klokka her feil, da funker vel ikke tingene som du vil ha dem. Derfor er det nok smartere å ta nåtida på servermaskina, men da bør du lage websida som et asp dokument (ser du kjører asp), dvs som en passende blanding av server- og klientsidescript pluss html. ;)

Lenke til kommentar
Telleren skal telle ned i forhold til norsk tid, og alle brukerne som skal se telleren bor i Norge :)

5886563[/snapback]

Joa, greit nok det, men dette betyr jo ikke at alle pc'ene i Norge garantert viser samme tid. Akkurat som armbandsår går feil, kan klokker på pc'er gå feil selv om alle pc'ene bor i Norge. ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...