tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
498
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nauti_lus nauti_lus ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    15
    Hallo Forum,

    ich habe eine ganz simplen Countdown der in einem datenFrame geladen wird und dann in meinen mainFrame schreibt.
    Klappt auch wunderbar. Nun ist es so, dass sich mein datenFrame alle paar sekunden refreshed und dadurch der Countdown anfängt zu ruckeln.
    Durch das neu anstoßen des Countdowns kann es eben zu überschneidungen der Zeit kommen.

    Nun meine Frage, wie kann ich diesen Countdown über den dataFrame anstoßen ohne ihn selbst andauernd wieder selbst zu laden.

    dataFrame:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    echo "var zeit = ".$sekunden.";\n";
    echo '  function zaehlen()
        {                
            zeit = zeit-1;
            if (zeit >= 0)
                parent.mainFrame.document.getElementById("time").innerHTML = "Start in: "+zeit;
            else
                parent.mainFrame.document.getElementById("time").innerHTML = "Am Start";
            window.setTimeout ("zaehlen()",1000);
        }';

    mainFrame:
    Code :
    1
    
    <div id="time"></div>

    Hoffe ihr wisst was ich meine

    Danke schonmal!
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von nauti_lus
    Hoffe ihr wisst was ich meine
    Nö....eigentlich nicht.
    Es sieht alles so aus, wie es sein müsste.
    Du musst die Funktion zaehlen nur 1 mal afrufen, dann sollte sie ohne Neuladen der Seite laufen.
     

  3. #3
    nauti_lus nauti_lus ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    15
    in dem datenframe werden noch andere daten geladen nicht nur der timer..

    generelle bin ich so weit, dass ich den timer ja nur einmal anstoßen darf.. aber wie mache ich das.
    wie kann ich z.b sagen, wenn der timer läuft, dann rufe die funktion nicht auf andernfalls rufe sie auf?
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Schau nach, ob das "time"-div einen Inhalt hat.
    Wenn ja, läuft der Timer bereits.
     

  5. #5
    nauti_lus nauti_lus ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    15
    hmmm.. wie schaue ich ob was in dem div - time was steht?

    mit
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    function go()
    {
        parent.mainFrame.zeit = 60;
        parent.mainFrame.zaehlen();
    }
     
     
     
    if(!parent.mainFrame.document.getElementById("time").value)
    {
        go();
    }

    geht es nicht...

    und wie lösche ich dann wieder den Inhat, denke mal einfach so:
    Code :
    1
    
    parent.mainFrame.getElementById("time").innerHTML = "";
    Geändert von nauti_lus (20.09.05 um 11:44 Uhr)
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Code :
    1
    2
    3
    4
    
    if(parent.mainFrame.document.getElementById("time").innerHTML=='')
      {
        //der Timer läuft noch nicht
      }
     

  7. #7
    nauti_lus nauti_lus ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    15
    Hi,

    danke für die Antwort hatte es gestern schon hinbekommen aber noch nicht gepostet.
    Das ich document vergessen hatte habe ich dann auch noch gemerkt. Kann ja mal meine Lösung posten für den, den es interessiert.

    dataFrame:
    PHP-Code:
    echo 'function go()
        {
            parent.mainFrame.zeit = zeit;
            parent.mainFrame.zaehlen();
        }
                    
        if(parent.mainFrame.document.getElementById("time").innerHTML == "")
        {
            go();
        }'
    ;

    if(empty(
    EREIGNIS)
    {
        
        print 
    'parent.mainFrame.document.getElementById("time").innerHTML = "";';

    showFrame
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    var zeit = 0;
     
    function zaehlen()
    {                
        zeit = zeit-1;  
        
        if (zeit >= 0)
        {
            parent.mainFrame.document.getElementById("time").innerHTML = "Start in: "+zeit;
            window.setTimeout ("zaehlen()",1000);
        }
        else
        {
            parent.mainFrame.document.getElementById("time").innerHTML = "Am Start";
        }
    }

    gruß
    nauti
     

Ähnliche Themen

  1. Applet aus Application heraus starten. Wie?
    Von gerritka im Forum Java
    Antworten: 4
    Letzter Beitrag: 26.11.08, 20:40
  2. Funktion aus Frame heraus starten: Finde den Fehler nicht.
    Von ahykes im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 19.09.06, 18:56
  3. HTML Dok. aus VB Programm heraus starten
    Von GeCKo1234 im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 07.03.05, 22:09
  4. Vergleich von Frameinhalten von einem anderen Frame heraus
    Von TinkaB im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 03.01.05, 15:56
  5. Antworten: 1
    Letzter Beitrag: 21.07.04, 20:54