Countdown bearbeiten ( Bitte um Hilfe )

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

  • Countdown bearbeiten ( Bitte um Hilfe )

    Guten Morgen zusammen ,

    ich habe hier ein counter der mit eine Zahl ( z.b 1000 sek ) runter zählt im Format :

    00:00:00
    Stunde : Minute : Sekunde

    nun habe ich 2 Fragen ?

    1. Wie bekomme ich noch Tage hinzu falls die Zahl ( in Sekunden ) 24 Stunden überschreitet ?

    2. Wie bekomme ich es hin das er nach Ablauf der Zeit einen Link anzeigt ?

    PHP-Code:

    <html>
    <
    head>

    <
    script type="text/javascript">
    <!--
    intObjs 0;
    function 
    nullen(intInt)
    {
        return(
    intInt<10) ? '0' intInt.toString() : intInt;
    }

    function 
    countdown(intSecondsintTargetstrCmd)
    {
        if(
    document.getElementById)
            {
                try
                    {
                        if(
    countdown.arguments.length 2)
                            {
                                
    intHrs Math.floor(intSeconds 3600);
                                
    intMinsMath.floor((intSeconds 3600) / 60);
                                
    intSecsintSeconds 60;
                                
    document.getElementById('count_'+intTarget).firstChild.data =
                                            
    nullen(intHrs) + ':' +
                                            
    nullen(intMins)+ ':' +
                                            
    nullen(intSecs);
                            }
                        else
                            {
                                
    strCmd=(countdown.arguments.length>1)?countdown.arguments[1]:'';
                                
    intTarget intObjs;
                                
    document.write('<span id="count_'+intObjs+'">&nbsp;</span>');
                                
    intObjs++;
                            }
                        if(
    intSeconds 0)
                            {
                                
    window.setTimeout('countdown('+(intSeconds-1)+','+intTarget+',\''+strCmd+'\')',1000);
                            }
                        else
                            {
                                eval(
    strCmd);
                            }
                     }
                 catch(
    e){}
            }
    }
    //-->
    </script>

    </
    head>
    <
    body>
    <
    script type="text/javascript">countdown(3600)</script>
    </
    body>
    </
    html
    Danke schon mal für Eure Hilfe

    Mfg

    Launebaer

  • #2
    Hi,

    ich würde sagen, so (ungetestet):

    Code:
                intDays = Math.floor((intSeconds / 3600) / 24);
                intHrs = Math.floor((intSeconds / 3600) % 24);
                intMins= Math.floor((intSeconds % 3600) / 60);
                intSecs= intSeconds % 60;
                                document.getElementById('count_'+intTarget).firstChild.data =
                                            intDays + ' Tag(e) ' +
                                            nullen(intHrs) + ':' +
                                            nullen(intMins)+ ':' +
                                            nullen(intSecs);
    Evtl. noch mit einer IF-Abfrage versehen, die entscheidet, ob die Tage mit ausgegeben werden sollen oder nicht.

    Schöne Grüße
    Axel

    Kommentar


    • #3
      Das scheint zu klappen , Danke schön



      vielleicht kann mir wer bei den if abfragen und meinen 2 ,

      auch noch helfen




      Launebaer

      Kommentar


      • #4
        Hi,

        oh. Punkt 2 habe ich völlig überlesen:

        Ich würde sagen so:

        Code:
                               if(intSeconds > 0)
                                {
                                    window.setTimeout('countdown('+(intSeconds-1)+','+intTarget+',''+strCmd+'')',1000);
                                }
                            else
                                {
                                    document.getElementById('count_'+intTarget).innerHTML = '<a href="bla.html">bla</a>';
                                    // Die Zeile verstehe ich nicht. strCmd ist doch in Deinem Bsp. leer !?!
                                    eval(strCmd);
                                }
        Schöne Grüße
        Axel

        Kommentar


        • #5
          die Zeile habe ich einfach mal weg genommen und es geht immer noch !



          kannst du mir sagen wo man das mit den if abfragen nach slesen kann ?

          möchte ja nur eine rein haben


          wenn Tag grösser 1 dann zeige tage an , ansonsten nur

          Stunden , Minuten , Sekunken


          Aber danke für deine Hilfe

          Kommentar


          • #6
            Hi,

            Hat den das mit dem Link einblenden aus meinem vorherigen POST geklappt?

            Mit der IF - Abfrage war das so gemeint :

            Diesen Bereich:
            Code:
            document.getElementById('count_'+intTarget).firstChild.data =
                                                    intDays + ' Tag(e) ' +
                                                    nullen(intHrs) + ':' +
                                                    nullen(intMins)+ ':' +
                                                    nullen(intSecs);
            abändern in (Eine von mehreren Möglichkeiten):
            Code:
            strOut = '';
            
            if(intDays > 0) {
                strOut = intDays + ' Tage(e) ';
            }
            
            strOut +=  nullen(intHrs) + ':' +
                              nullen(intMins)+ ':' +
                              nullen(intSecs);
            document.getElementById('count_'+intTarget).firstChild.data = strOut;
            Nachlesen dazu am besten bei SelfHTML im Bereich für Javscript.

            Schöne Grüße
            Axel

            Kommentar


            • #7
              Jepp im editor hat es geklappt


              schau nur grad wo ich die if abfrage ersetzen muss


              findes es nicht

              Kommentar


              • #8
                Hi,

                mmh. Ne If-Abfrage wars ja vorher nicht. Diesen Befehl, der mit document.getElementBy... beginnt (In Deinem ursprünglichen POST ab Zeile 23) durch den geposteten Bereich ersetzen.

                Dort wird halt erst eine Variable definiert (strOut). Dann wird per IF-Abfrage geprüft, ob die Tage > 0 sind. Falls ja, wird in die Variable strOUT die Tage Anzahl reingeschrieben. Hinterher werden die Stunden, Minuten und Sekunden noch drangehängt und in den HTML-Quelltext geschrieben.

                Schöne Grüße
                Axel

                Kommentar


                • #9
                  Danke schön .....


                  klappt nun alles bestens


                  Mfg Swen

                  Kommentar

                  Lädt...
                  X