Problem Countdownscript
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aktualisierung
aufbau
beispiel
client
countdown
date
eigene edition
gedacht
jeweiligen nutzer
leiden
restzeit
spannung
steck
uhr
verbliebene
versuchen
zeitrechnung
-
Hallo, ich stecke momentan fest, grund habe keine grossartigen Java kenntnisse und versuche folgendes. Grund aufbau ist ein Countdown script was ohne eigene edition einwandfrei funktioniert. Doch habe ich vor das dieses Scipt die verbliebene Ceountdownzeit mittels serverzeit statt der clientzeit ausrechnen soll.
beispiel.php
<?
$Javascriptzeit = date("D M d H:i:s ");
$Javascriptzeit .= "UTC";
$Javascriptzeit .= date("O Y");
?>
<head>
<title>Ein Countdown mit JavaScript</title>
<meta name="robots" content="noindex,nofollow">
<style type="text/css">body{background-color:#ffffff};input {background-color:#ffffff;border-width:1};p{font-size:80%}</style>
<script language="JavaScript">
var jahr=2222, monat=2, tag=22, stunde=22, minute=22, sekunde=22; // Ziel-Datum in MEZ
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
function countdown() {
startDatum=new Date("<?php echo $Javascriptzeit; ?>");
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum<zielDatum) {
var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;
// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--;
// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;
// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
}
// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);
// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);
// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);
// Anzeige formatieren
(jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";
(monate!=1)?monate=monate+" Monate, ":monate=monate+" Monat, ";
(tage!=1)?tage=tage+" Tage, ":tage=tage+" Tag, ";
(stunden!=1)?stunden=stunden+" Stunden, ":stunden=stunden+" Stunde, ";
(minuten!=1)?minuten=minuten+" Minuten und ":minuten=minuten+" Minute und ";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";
document.countdownform.countdowninput.value=jahre+monate+tage+stunden+minuten+sekunden;
setTimeout('countdown()',200);
}
// Anderenfalls alles auf Null setzen
else document.countdownform.countdowninput.value="0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
}
</script>
</head>
<body scroll="auto" onload="countdown()">
<br>
<p>Die Spannung steigt. Nur noch</p>
<form name="countdownform"><p><input size="75" name="countdowninput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()"></p></form>
<p>bis zum 22.2.2222, 22:22:22 Uhr.</p>
</body>
Das Problem liegt hier:
startDatum=new Date("<?php echo $Javascriptzeit; ?>"); << So nimmt sich das script zum rechnen die aktuelle Serverzeit!
startDatum=new Date(); <<So nimmt sich das script die client zeit der jeweiligen nutzer.
Mit der clientzeit funktionier das script und zählt den countdown live runter, mit der serverzeit aber rechnet er richtig doch der countdown läuft nicht, erst nach aktualisierung im browser ändern sich die zahlen.
Kann mir hier jemand helfen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
kann dir leider nicht helfen, denn es ist das falsche Forum. Hier geht es um Java, nicht JavaScript.
-
*hier mal aufräumt und dieses Thema in den entsprechenden Forenteil packt*
-
Ohh tut mir leid, ich hab von java so gut wie keinen Plan. Das problem habe ich anders gelöst. Die rechnung ist gedacht für ein browsergame. Die zeitrechnung habe ich komplett in php umgestrickt und gebe mittels java script nur noch die restzeit aus, fuktioniert so besser denk ich mal ;)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage