Ergebnis 1 bis 7 von 7

Thema: JAVA Countdown will nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235
    Zitat Zitat von jpwfour Beitrag anzeigen

    1. wird die Funktion do_CountX() irgendwo initial aufgerufen? Im onload= Event bspw., wenn die nicht aufgerufen wird, kanns ja gar nichte rst losgehen
    2. wird sie aufgerufen, wird schon ein Countdown angezeigt, nur dass der bei jedem Aufruf immer mit dem selben Wert rechnet (var countdown_1X=), Daher sieht man keine Veränderung, diese Variable muss ausserhalb der Funktion deklariert werden, dann sollte an sich alles passen.
    Zu 1. Mit onload hatte ich probiert allerdings wird dann nur der 1te Code aus der whileschleife angezeigt, ich editiere nochmal den ersten Post mit bisschen mehr Code.

    edit: dachte das es hier dann losgeht:
    window.setTimeout('doCount_<?=$i;?>()',1000)

    Zu 2.
    PHP-Code:
    var countdown_<?=$i;?> = <?=$new_endcountdown;?>;

    $new_endcountdown wird dabei in der while schleife erzeugt.
    Um den Wert geht es mir auch nicht sondern um den Countdown der nicht startet

  2. #2
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    hm, funktion sollte aufgerufen werden und die variable ausserhalb der funktion deklariert, und dann gehts, probiers einfach mal aus

    Beim Aufruf muss dem JS das Element bekannt sein mit der ID daher bietet sich onload an.

    Variante 1 die gehen sollte:
    HTML-Code:
                <div id='countdown_1'></div>
    <script language='javascript'>
         var countdown_1 = 234;           
                    function doCount_1()
                    {
                    
                        var returnvar = '';
                        
                            if (countdown_1 > 0) {
                                countdown_1-- 
                    var s = countdown_1;
                                var d = Math.floor(s/(24*3600));
                                var h = Math.floor((s - (d * 24*3600))/3600);
                                var m = Math.floor((s - (d * 24*3600) - (h * 3600))/60);
                                var sek = Math.floor(s - (d * 24*3600) - (h * 3600) - (m * 60));    
                    
                            if(d != 0) {
                                returnvar = returnvar+d+'d ';
                            }
                            
                            if(h != 0) {
                                returnvar = returnvar+h+'h ';
                            }    
                            
                            if(m != 0) {
                                returnvar = returnvar+m+'min ';
                            }
                    
                            if(sek != 0) {
                                returnvar = returnvar+sek+'s ';
                            }    
                            }
                
                            else {
                                returnvar = 'Fertig';    
                            }                            
                        document.getElementById('countdown_1').innerHTML = returnvar;
                    
                        window.setTimeout('doCount_1()',1000)
                    }
            
            window.setTimeout('doCount_1()',1000);
                </script>
    Var2 die auch geht, aber eben immer den selben wert anzeigt:
    HTML-Code:
                <div id='countdown_1'></div>
    <script language='javascript'>
            
                    function doCount_1()
                    {
                         var countdown_1 = 234;   
                        var returnvar = '';
                        
                            if (countdown_1 > 0) {
                                countdown_1-- 
                    var s = countdown_1;
                                var d = Math.floor(s/(24*3600));
                                var h = Math.floor((s - (d * 24*3600))/3600);
                                var m = Math.floor((s - (d * 24*3600) - (h * 3600))/60);
                                var sek = Math.floor(s - (d * 24*3600) - (h * 3600) - (m * 60));    
                    
                            if(d != 0) {
                                returnvar = returnvar+d+'d ';
                            }
                            
                            if(h != 0) {
                                returnvar = returnvar+h+'h ';
                            }    
                            
                            if(m != 0) {
                                returnvar = returnvar+m+'min ';
                            }
                    
                            if(sek != 0) {
                                returnvar = returnvar+sek+'s ';
                            }    
                            }
                
                            else {
                                returnvar = 'Fertig';    
                            }                            
                        document.getElementById('countdown_1').innerHTML = returnvar;
                    
                        window.setTimeout('doCount_1()',1000)
                    }
            
            window.setTimeout('doCount_1()',1000);
                </script>
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  3. #3
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235
    komisch Var1 funktioniert obwohl ich mir eigentlich ziemlich sicher bin das ich es mit setTimeout auch so probiert habe oder hat es auch was damit zu tun das du <div id='countdown_1'></div> vor den JavaScript gemacht hast?

    Naja jetzt geht es jedenfalls danke.
    Kann man auch irgendwie nach returnvar = 'Fertig'; nen db_query einfügen?

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Jo wenn es davor ist und dann die Funktion erst 1 Sekunde später aufgerufen wird, dann "findet" Javascript das Element auch meist.

    So:
    HTML-Code:
    <body onload="doCount_1();doCount_2();">
    
    <script language='javascript'>
                             var countdown_1 = 234;       
                    function doCount_1()
                    {
    
                        var returnvar = '';
                        
                            if (countdown_1 > 0) {
                                countdown_1-- 
                    var s = countdown_1;
                                var d = Math.floor(s/(24*3600));
                                var h = Math.floor((s - (d * 24*3600))/3600);
                                var m = Math.floor((s - (d * 24*3600) - (h * 3600))/60);
                                var sek = Math.floor(s - (d * 24*3600) - (h * 3600) - (m * 60));    
                    
                            if(d != 0) {
                                returnvar = returnvar+d+'d ';
                            }
                            
                            if(h != 0) {
                                returnvar = returnvar+h+'h ';
                            }    
                            
                            if(m != 0) {
                                returnvar = returnvar+m+'min ';
                            }
                    
                            if(sek != 0) {
                                returnvar = returnvar+sek+'s ';
                            }    
                            }
                
                            else {
                                returnvar = 'Fertig';    
                            }                            
                        document.getElementById('countdown_1').innerHTML = returnvar;
                    
                        window.setTimeout('doCount_1()',1000)
                    }
            
            function doCount_2()
                    {
                alert(11);
            }
            
    
                </script>
    <div id='countdown_1'></div>
    </body>
    sollte es aber auch funktionieren.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

Ähnliche Themen

  1. [HTML/CSS/JS] Nach Klick Countdown
    Von blacky123 im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 16.06.2011, 23:07
  2. [HTML/CSS/JS] Falls java nicht html anzeigen
    Von Basell im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 23.02.2011, 17:01
  3. Startseiten Countdown bei Vergütung
    Von blacky123 im Forum [HD] Codeschnippsel
    Antworten: 13
    Letzter Beitrag: 04.11.2009, 19:56
  4. [HTML/CSS/JS] Countdown beim Bettellink
    Von st.pauliblau im Forum [HD] Programmieren
    Antworten: 4
    Letzter Beitrag: 20.05.2008, 22:14
  5. Countdown bis zur Verütung !
    Von Koki12 im Forum [HD] Programmieren
    Antworten: 6
    Letzter Beitrag: 24.10.2007, 14:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •