Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Countdown
#1
Habe eine Variable (PHP) und die heißt $rest in $rest habe ich nun gespeichert, wie viele Sekunden noch verbleiben, ab dem jetztigen Zeitpunkt!

Nun will ich dies aber als Countdown anzeigen lassen (BSPSmile

$rest = 60;

Nun soll wenn man die Seite öffnet follgendes kommen: Es bleiben noch 1 Minute und 0 Sekunden über und dann geht die Uhr runter (Es bleiben noch 0 Minuten und 59 Sekunden über

PS. hier ist der Code den ich gerne benutzen würde / der euch bestimmt weiterhelfen wird!!!:

PHP Code:
<script language="JavaScript">
      
// Ziel-Datum in MEZ
      
var jahr=2011monat=6tag=25stunde=18minute=0sekunde=0;
      var 
zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

      function 
countdown() {
        
startDatum=new Date(); // Aktuelles Datum

        // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
        
if(startDatum<zielDatum)  {

          var 
jahre=0monate=0tage=0stunden=0minuten=0sekunden=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<10sekunden="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=
            
"Scooter Konzert ist soebend gestartet / bereits zu Ende xPP";
      }
    </
script
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#2
ja und was ist dein problem? schreib ihn doch einfach um...
LG
steffen
Reply
#3
(27.06.2011, 15:50)steffengy Wrote: ja und was ist dein problem? schreib ihn doch einfach um...

ja das ja mein Problem *gg*

Also wie mache ich das, dass an dieser Stelle:

PHP Code:
// Ziel-Datum in MEZ
      
var jahr=2011monat=6tag=25stunde=18minute=0sekunde=0;
      var 
zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde); 

Satt des Festgelegten Datums das Aktuelle + die Variable $rest (Sekunden) gerechnet wird^^
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#4
naja für deinen Zweck geht das viel einfacher...
Du hast eine Sekunden angabe stimmts?
LG
steffen
Reply
#5
(27.06.2011, 15:54)steffengy Wrote: naja für deinen Zweck geht das viel einfacher...
Du hast eine Sekunden angabe stimmts?

ja also ich habe zum Beispiel in der Variable $rest stehen, dass es noch 458921 Sekunden dauert^^

Jetzt soll er mir anzeigen es dauert noch x wochen x tage x Stunden x Minuten und x Sekunden bis das und das passiert^^
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#6
PHP Code:
<?php
$rest
=60;
?>
<body>
<font id="countdowninput"><?php echo($rest);?></font>
</body>
<script type="text/javascript">
  // Ziel-Datum in MEZ
      var rest=<?php echo($rest);?>;    
      var font=document.getElementById("countdowninput");
      function countdown() {
          rest--;
          font.childNodes[0].nodeValue=rest;
          if(rest<=0)
          {
               font.childNodes[0].nodeValue="CUSTOM_TEXT";
               //Wenn man nen reload will... / Seite aufrufen
               // (auskommentiert)
               // document.location='URL'; 
               // document.reload //Der Reload
          }else{setTimeout('countdown()',999);}
        }
        countdown();
       
</script> 
Mal ganz kurz gescripted...
dann musste das hald nur noch umwandeln, kriegste das hin?^^
LG
steffen
Reply
#7
Das da (Zeile 9):
PHP Code:
var rest=60
würde ich so schreiben:
PHP Code:
var rest=<?php echo($rest); ?>
Wink
Reply
#8
(27.06.2011, 16:06)steffengy Wrote:
PHP Code:
<?php
$rest
=60;
?>
<body>
<font id="countdowninput"><?php echo($rest);?></font>
</body>
<script type="text/javascript">
  // Ziel-Datum in MEZ
      var rest=60;    
      var font=document.getElementById("countdowninput");
      function countdown() {
          rest--;
          font.childNodes[0].nodeValue=rest;
          if(rest<=0)
          {
               font.appendChild(document.createTextNode("CUSTOM_TEXT"));
               //Wenn man nen reload will... / Seite aufrufen
               // (auskommentiert)
               // document.location='URL'; 
               // document.reload //Der Reload
          }else{setTimeout('countdown()',999);}
        }
        countdown();
       
</script> 
Mal ganz kurz gescripted...
dann musste das hald nur noch umwandeln, kriegste das hin?^^

klar ^^ Smile

Danke Wink

Bin noch Anfänger in Javascript aber wird noch Big Grin

Werde es gleich mal austesten !

PS. ~closed? Smile
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#9
ja marc das war nen bissle die Eile Big Grin
~all fixed
LG
steffen
Reply
#10
PHP Code:
<script type="text/javascript">
    <?
php
    
include "configs/server.php";
    
?>
        var rest=<?php echo($rest);?>;
        var reload=<?php echo($reload);?>;
        var font=document.getElementById("countdowninput");
        function countdown() 
        {
            rest--;
            font.childNodes[0].nodeValue=rest;
            if(rest<=0)
            {
                font.childNodes[0].nodeValue="Fertig";
                if(reload==1)
                {
                location.reload();
                }
            }
            else
            {
            setTimeout('countdown()',999);
            }
        }
        countdown();
</script> 

Danke nochmal für den Countdown hab nur ein klein wenig verändert (nicht viel, da ich kein javascript kann Big Grin (nicht gut))

Also es wäre nett, wenn es noch möglich wäre die Ausgabe der Sekunden die runter zählen in sowas zu formatieren:
Stunden:Minuten:Sekunden

Beispiel:
28:12:01
oder
00:00:05

Also ich möchte keine Tage drin haben (28 Stunden)
und immer 2 Zahlen wenn es geht 00:00:05.

Meinst du würdest das für mich hinkriegen *bettel*

PS: Außerdem wäre es noch nett wenn es ein Script geben würde, dass einfach nur Formatiert (300 Sekunden --> 00:05:00)
Beispiel: echo "$zahl";
Das dann nicht die Zahl / der Wert der Variable da steht sondern das formatierte...

Großes dankeschön schonmal :*

PS: steffen hab ich dir eigtl. schon ne Bewertung gegeben ? auf jeden Fall DANKE ;***
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#11
(nee hast nicht ^^)
ja kannst einfach ne Javascript Funktion anlegen (z.b. format_secs) und dann das Argument 1 hald formatieren und formatiert zurückggeben (musst hald wissen wieviel sekunden ne stunde/minute sind und dann hald mit dem "höchsten" (Tag oder Stunde) anfangen und von ner Variable abziehen , sag wenn du die Funktion und angepassten Code brauchst, könnte ich kurz machen)

Falls du den Code brauchst: (hab mal was zusammengebastelt)
http://pastebin.de/18588
LG
steffen
Reply
#12
(02.09.2011, 13:03)steffengy Wrote: (nee hast nicht ^^)
ja kannst einfach ne Javascript Funktion anlegen (z.b. format_secs) und dann das Argument 1 hald formatieren und formatiert zurückggeben (musst hald wissen wieviel sekunden ne stunde/minute sind und dann hald mit dem "höchsten" (Tag oder Stunde) anfangen und von ner Variable abziehen , sag wenn du die Funktion und angepassten Code brauchst, könnte ich kurz machen)

Falls du den Code brauchst: (hab mal was zusammengebastelt)
http://pastebin.de/18588

Danke!

Hab ich anscheinend doch seh ich grad Tongue egal geb dir noch eine Big Grin

Okay also wie kann ich die funktion dann zum Beispiel nutzen..

Also jetzt bei echo "$zahl";
Dass er da erst die funktion nutz (nutzt? wie auch immer Big Grin) und dann das formatierte zurück gibt^^

Sorry kann kein Javascript nur sehr sehr wenig^^ (grad Buch gekauft / bestellt Smile)
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply
#13
Siehe meinen gepasteten Code die Sekunden werden übergeben und nach ca. 1 Millisekunden formatiert ^^
LG
steffen
Reply
#14
(02.09.2011, 13:27)steffengy Wrote: Siehe meinen gepasteten Code die Sekunden werden übergeben und nach ca. 1 Millisekunden formatiert ^^

Danke Smile
Ihr wollt sowas wie DS gerne online spielen - Privatserver?!

klick
Reply




Users browsing this thread: 4 Guest(s)