Streusel: auf window.onload verzichten

Hallo,

ich bin Streusel und ich habe grad dieses Javascript in meine Seite eingebaut:

http://www.ricocheting.com/js/countdown.html

Es geht um einen Rückwärts Counter, der quasi so aufgerufen wird:

  
window.onload=function(){GetCount();}//call when everything has loaded  

So funktioniert das!

Nun habe ich den oben genannten Code mal so umgebaut:

  
GetCount();  

Damit funktioniert es leider nicht, was ich nicht nachvollziehen kann. Denn die Funktion GetCount ruft ja schon mittels setTimeout die Funktion wieder auf.

Ich habe keine Idee wieso es nicht geht. Vielleicht hat da jemand eine Idee.

Streusel

  1. Kann es sein, dass das Script auf Seitenelemente zugreift, die erst später im Quellcode eingeführt werden?

    1. Vielen Dank für den Hinweis.

      Daran lag es. Ich habe nun einfach den JS Code unter das DIV gesetzt und damit haut es bestens hin.

      Streusel

      Kann es sein, dass das Script auf Seitenelemente zugreift, die erst später im Quellcode eingeführt werden?

  2. hallo,

    Ich habe keine Idee wieso es nicht geht. Vielleicht hat da jemand eine Idee.

    schau in die fehlerkonsole deines browsers, falls er eine hat, etwas ähnliches wie "document.getElementById("countbox") is null" sollte da drin stehen

  3. Es geht um einen Rückwärts Counter, der quasi so aufgerufen wird:

    window.onload=function(){GetCount();}//call when everything has loaded

    
    >   
    > So funktioniert das!  
    >   
    > Nun habe ich den oben genannten Code mal so umgebaut:  
    >   
    > ~~~javascript
      
    
    > GetCount();  
    > 
    
    

    Warum willst du diese Änderung vornehmen?

    Damit funktioniert es leider nicht, was ich nicht nachvollziehen kann.

    Das ist ganz logisch, weil das Script auf Elemente des Dokuments zugreift. Und die sind komplett erst für Scripte verfügbar, wenn das load-Ereignis eintritt.

    Denn die Funktion GetCount ruft ja schon mittels setTimeout die Funktion wieder auf.

    Das hat mit dem Warten auf den load-Event gar nichts zu tun.

    Ich habe keine Idee wieso es nicht geht.

    Wieso bleibst du nicht bei window.onload? Es hat schon seinen Zweck, warum der Scriptautor das eingebaut hatte.

    Mathias