JS-Counter Problem

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

  • JS-Counter Problem

    hi,
    vorweg:
    ich hab gesucht und auch viel gefunden, jedoch bleiben da restfragen aufgrund mangelnden verständnisses
    zum problem:
    ich habe einen js-counter der x-sekunden rückwärts runterzählt. funktioniert soweit auch. ich möchte das ganze aber so haben das nach ablauf der zeit ein "aktualisieren" button auf der seite erscheint.
    das script:
    PHP-Code:
    <!-- BEGINN COUNTDOWN-->
    <
    script type="text/javascript">
    var 
    NS6 = (!document.all && document.getElementById) ? true false;
    var 
    NS document.layers 1:0;
    var 
    IE document.all 1:0;
    var 
    gecko document.getElementById 1:0;
    var 
    target="test";
    var 
    wielange;
    function 
    countdown(wielang)
    {
        
    sekunden=wielang;
        
    stunden=Math.floor(sekunden/3600);
        
    sekunden-=stunden*3600;
        
    minuten=Math.floor(sekunden/60);
        
    sekunden-=minuten*60;
       <!-- 
    text=stunden+":"+minuten+":"+sekunden; -->
      
    text=stunden+":"+minuten+":"+sekunden;
        if (
    NS)
        {
            
    document.layers[target];
            
    text2 '<p>' text '</p>';
            
    x.document.open();
            
    x.document.write(text2);
            
    x.document.close();
        }
        else if (
    IE)
        {
            
    document.all[target];
            
    x.innerHTML text;
        }
        else if (
    gecko)
        {
            
    document.getElementById(target);
            
    x.innerHTML text;
        }
        
    wielange=wielang-1;
        if (
    wielang!=0) {
        
    window.setTimeout("countdown(wielange);",1000)
        }
        else
          
    document.write("<font face='verdana' size='2'><a href='test.php'>AKTUALISIEREN</a></font>");
    }
    </
    script
    und aufgerufen wird das script hier ( dort soll auch unterhalb der zeit der button erscheinen):
    PHP-Code:
    <td height="24" colspan="2"><div align="center">
    <span id="test">Hier sollte ein Countdown stehen</span>
    <script type="text/javascript">countdown(<?php echo $zeit ?>)
    </script>
    </div></td>
    problem ist document.write nehme ich an, da dadurch ja die seite "neu" generiert wird. lasse ich es weg erscheint jedoch garnichts...da beginnt auch meine mangelnde erfahrung mit javascript.
    eine weitere frage wäre wie es geht das nach ablauf der zeit der counter bei 0 stehen bleibt und trotzdem auf der seite erscheint, im mom wird die seite wie oben genannt neu gebaut...

    kann mir bei der vervollständigung der sache jemand unter die arme greifen? wäre super, danke

  • #2
    ich würde es mit css machen.
    schreib einfach dein link in den hidden block, also so:
    PHP-Code:
    <div id="hideablearea" style="display:none;">
        <
    font face='verdana' size='2'><a href='test.php'>AKTUALISIEREN</a></font>
    </
    div
    d.h. dein link steht schon im sourcecode, nur hidden. nach dem dein counter fertig ist, zeigt er den block.

    und in dein javascript müsste dann so aussehen:
    PHP-Code:
            ...
            
    wielange=wielang-1;
    ____if (wielang!=0) {
    ____    window.setTimeout("countdown(wielange);",1000)
    ____}
    ____else
    ______document
    .getElementById("hideablearea").style.display "block"

    Kommentar


    • #3
      funktioniert einwandfrei und ich hab es auch noch verstanden, vielen dank!

      Kommentar

      Lädt...
      X