PHP Countdown Forum

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Countdown Forum

    Hallo ihr,

    folgende Situation:

    Ich habe momentan ein PHP Countdown Script für mein Forum das zu einem festgelegten Datum mit Stunde, Minute und Sekunde herunterzählt in formatierter Ausgabe.
    Allerdings endet das Script nicht bei 0 sondern zählt in den Minusbereich weiter. Wie kann ich dieses festlegen, dass es bei 0 stoppt, und im Idealfall noch einen Abschlusstext ausgibt?

    Hier mal mein Script:
    PHP-Code:
    <?php
    $tag 
    '01';
    $monat '01';
    $jahr '2013';
    $stunde '00';
    $minute '00';
    $sekunde '00';
    $was 'bis Neujahr 2013';

    // ab hier nichts mehr aendern
    $timestamp mktime($stunde$minute$sekunde$monat$tag$jahr);
    $count $timestamp time();
    $seconds str_pad($count 602'0'STR_PAD_LEFT);
    $count floor($count 60);
    $minutes str_pad($count 602'0'STR_PAD_LEFT);
    $count floor($count 60);
    $hours str_pad($count 242'0'STR_PAD_LEFT);
    $count floor($count 24);
    $jsstring date('F'$timestamp).' '.$tag.', '.$jahr.' '.$stunde.':'.$minute.':'.$sekunde;
    ?>
    <div style="text-align: center;">
        <span id="countdown1" style="font-size: 1.5em"><?php echo $count?> TAGE</span><br />
        <span id="countdown2"><?php echo $hours.':'.$minutes.':'.$seconds?></span><br />
        <p class="smallFont"><?php echo $was?></p>
    </div>

    <script type="text/javascript">
    //<![CDATA[
        var end = new Date('<?php echo $jsstring?>');
        function toSt2(n) {
            var s = '';
            if (n < 10) s += '0';
            return (s + n).toString();
        }
        new PeriodicalExecuter(function (pe) {
            var d = new Date();
            var count = Math.floor((end.getTime() - d.getTime()) / 1000);
            if(count > 0) {
                var seconds = toSt2(count % 60);
                count = Math.floor(count / 60);
                var minutes = toSt2(count % 60);
                count = Math.floor(count / 60);
                var hours = toSt2(count % 24);
                count = Math.floor(count / 24);
                var days = count;
                $('countdown1').update(days + ' TAGE');
                $('countdown2').update(hours + ':' + minutes + ':' + seconds);
            }
            else {
                pe.stop();
            }
        }, 1);
    //]]>
    </script>
    Hoffe ihr könnt mir helfen

    MFG shoox
    Zuletzt geändert von shoox; 19.04.2013, 15:37.

  • #2
    1. du setzt offenbar jQuery ein. Und da heißt es nicht $('countdown1') sondern $('#countdown1')
    2. Da du die Abfrage offenbar nur beim Aufruf der Seite nutzt, brauchst du imho auch kein JavaScript
    3. Ein einfacher Vergleich à la if ($count < 0) sollte doch völlig ausreichen

    Oder habe ich da was falsch völlig falsch verstanden?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      stimmt das wird's wohl gewesen sein. Ich denke ich überabeite das ganze nocheinmal

      Dank dir!

      (kann geclosed werden)

      Kommentar

      Lädt...
      X