Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 31
  1. #1
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    Fortschrittsanzeige für Schleife

    hallo allerseits,

    leider fkt. meine fortschrittsanzeige nicht wie gewünscht. das problem ist, dass die aktualisierung erst am ende der schleife erfolgt und somit nicht den sinn erfüllt eine pause habe ich auch schon in die schleife eingebaut. diese half auch nicht und wurde hier im sourcecode weggelassen.

    Code:
    function pruefeFSAZ() {
          for (var j=0; j<1000; j++) {
             document.getElementById("test").innerHTML = "j ist "+j;
          }
    }
    
    <div id="test">Startzustand</div>
    <input type="button" value="pruefeFSAZ" onclick="pruefeFSAZ();" />
    eine idee???? vielen dank im voraus!!!!

    gruß dura4cell

  2. #2
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Fortschrittsanzeige für Schleife

    Zitat Zitat von dura4cell Beitrag anzeigen
    eine idee????
    Wenn Du nicht auf setInterval oder setTmeout umsteigen willst/kannst, dann keine.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo Albu,

    vielen dank für die antwort. setTimeout war mir bekannt und führt nicht zum erfolg. hatte es eben noch ein weiteres mal ausprobiert.

    code:
    function pruefeFSAZmitTimeout() {
    for (var j=0; j<100000; j++) {
    setTimeout(document.getElementById("test").innerHTML = "j ist "+j, 10);
    }
    }

    setInterval führte leider auch nicht zum erfolg. der "normale" aufruf fkt. nicht. dann habe ich eine globale variable definiert, was auch nicht half.

    hier auch der code:
    function zeige() {
    document.getElementById("test").innerHTML = "j ist "+global_j;
    }

    function pruefeFSAZmitInterval() {
    setInterval(zeige(), 5);
    for (var j=0; j<10000; j++) {
    global_j = j;
    }
    clearInterval();
    }

    bei setInterval wird das div ein mal geupdated mit "j ist undefined" :-( der 2. ansatz erscheint mir erfolgsversprechend. eine idee, was am zugriff auf die globale variable nicht richtig ist? selbige habe ich mit "var global_j" in der ersten zeile des javascripts stehen.

    gruß dura4cell

  4. #4
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Fortschrittsanzeige für Schleife

    So machst du nichts anderes als vorher, du musst setTimeout ANSTATT deiner for Schleife verwenden und nicht zusammen.

  5. #5
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo ein schlauer,

    vielen dank für deine antwort. habe das mal umgeschrieben (hoffe so war das gemeint) - mit dem gleichen ergebnis. es wird jetzt auch bei setTimeout "j ist undefined" angezeigt. ein update des divs erfolgt nach wie vor nicht.

    hier der code:
    function pruefeFSAZmitInterval() {
    setTimeout(zeige(), 5);
    for (var j=0; j<10000; j++) {
    global_j = j;
    }
    }

    setTimeout ist außerhalb der forschleife und ruft folgende funktion auf.

    code von zeige:
    function zeige() {
    do {
    document.getElementById("test").innerHTML = "j ist "+global_j;
    }
    while(true);
    }

    da setTimeout ein eimaliger aufruf ist, blieb mir nichts anderes übrig als eine endlosschleife zu benutzen. würde eher setInterval bevorzugen, da da die routine nur zwischendurch aufgerufen wird ;-)

    vielleicht kann jemand den sehr kurzen sourcecode aus dem forenbeitrag hier kopieren, und mir den fkt. 3zeiler zurückkopieren (in den foreneintrag). ist ja im prinzip schnell getan. hier heraus kopieren, kurz verbessern und zurückkopieren :-)

    teste auch selber, aber der andere weg scheint mir effektiver ;-)

    dank im voraus!

    gruß dura4cell

  6. #6
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Fortschrittsanzeige für Schleife

    Du versucht zwar setTimeout einzusetzen, aber benutzt immer noch Deine Schleife, von der Du bereits festgestellt hast, dass sie nicht brauchbar ist. Die Schleife kommt komplett weg!
    Ums mal zu verdeutlichen: Alles was in der Schleife passiert, passiert _jetzt_! Das Update des Browserfensters erfolgt _nachher_ - auf jeden Fall _nach_ jetzt!
    Mit setInterval oder setTimeout kannst Du eine Aktion später ausführen lassen. Wenn Du in diesem "später" allerdings wieder Deine Schleife einbaust, dann ist zum Zeitpunkt des "späters" wieder "jetzt", das Update des Browserfensters und damit Deine Anzeige erfolgt dann wieder _nachher_. Du darfst also "später" nur eine einzige Aktion, also praktisch einen Schleifendurchlauf, ausführen, dann klappt das auch. Die Anzahl der "später" ist nicht begrenzt.

    noch ein Bug am Rande:
    setTimeout(zeige(), 5);
    führt zeige () sofort aus und weil "zeige" keine Funktion zurückliefert funzt setTimeout nicht korrekt. -> Suchfunktion
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  7. #7
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo Albu,

    danke für das update. das ganze brauche ich, um anzuzeigen wie weit die schleife ist. bei folgendem code verstehe ich nicht, warum dieser in der for-schleife ausgeführt sein soll. für mich ist der code außerhalb der for-schleife.

    code:
    function pruefeFSAZmitInterval() {
    //außerhalb der for schleife
    setTimeout(zeige(), 5);

    //folgende for-schleife
    for (var j=0; j<10000; j++) {
    global_j = j;
    }
    }

    wie könnte ich denn den stand in der forschleife anzeigen? geht es denn überhaupt?

    gruß dura4cell

  8. #8
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Fortschrittsanzeige für Schleife

    Da Du es jetzt zweimal überlesen hast, will ich es noch einmal versuchen:

    Du kannst in Javascript keine FOR-Schleife mit einem Fortschrittsbalken visualisieren! Völlig egal, was Du tust, es geht nicht!!

    Und jetzt lies die anderen Posts nochmal durch, such im Forum und lies bei Selfhtml über Timouts und Intervalle!
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  9. #9
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo Albu,

    hatte jetzt nicht herausgelesen, dass es nicht geht. anyway vielen dank.

    gruß dura4cell

  10. #10
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Fortschrittsanzeige für Schleife

    Zitat Zitat von dura4cell Beitrag anzeigen
    hatte jetzt nicht herausgelesen, dass es nicht geht. anyway vielen dank.
    Es hat auch keiner geschrieben, dass es überhaupt nicht geht! Allerdings gewinne ich den Eindruck, dass Du es mit dem Herauslesen generell nicht so hast.

    Man kann eine Schleife so programmieren, dass sie mittels Fortschrittsbalken visualisiert werden kann. Nur kann man dazu eben KEINE FOR SCHLEIFE benutzen, sondern MUSS MIT TIMEOUT oder INTERVAL ARBEITEN.

    So jetzt lies die Beiträge nochmal genau durch, denke darüber nach, benutze die Suchfunktion, und setze das Gesagte um, oder stell Dich hin und glaube ganz feste dran, dass es wirklich nicht geht, dann musst Du halt ohne Fortschrittsbalken leben.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  11. #11
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo Albu,

    die letzte antwort fand ich jetzt aber nicht nett. die folgende aussage stammte von dir "Du kannst in Javascript keine FOR-Schleife mit einem Fortschrittsbalken visualisieren!"

    die beschriebenen und genannt vorschläge habe ich versucht umzusetzen (setInterval und setTimeout) und den sourcecode auch gepasted (so wie es sich gehört). mein vorschlag bzw. meine bitte war auch den gegeben code kurz zu modifizieren und zurückzupasten...

    vielleicht klappt es ja doch noch mit der lösung ;-)

    gruß dura4cell

  12. #12
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: Fortschrittsanzeige für Schleife

    Zitat Zitat von dura4cell Beitrag anzeigen
    mein vorschlag bzw. meine bitte war auch den gegeben code kurz zu modifizieren und zurückzupasten...
    Das bekommst du sicher selbst noch hin!
    Albu meinte, dass du das Zählen selbsständig vornehmen musst und dieses mit der Aktion der Aktualisierung des Ladebalkens in eine Funktion steckst, die wiederum von setInterval aufgerufen wird. Bei Erreichen des Endwertes dann clearInterval verwenden. Siehe Selfhtml "clearInterval".

    MfG, Ralf...

  13. #13
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Fortschrittsanzeige für Schleife

    Zitat Zitat von dura4cell Beitrag anzeigen
    die folgende aussage stammte von dir "Du kannst in Javascript keine FOR-Schleife mit einem Fortschrittsbalken visualisieren!"
    Und diese Aussage ist völlig richtig. Wenn Du auf der FOR Schleife bestehst, dann gibt es keine Lösung! Das haben wir Dir jetzt schon mindestens 3mal erklärt.
    Es gibt aber Möglichkeiten Schleifen zu basteln, die nicht auf FOR aufbauen.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  14. #14
    dura4cell ist offline Jungspund
    registriert
    06-05-2007
    Beiträge
    13

    AW: Fortschrittsanzeige für Schleife

    hallo Ralf,

    danke für die antwort. jein - habe vorhin noch mit setIntervall versuche unternommen. habe es auch hinbekommen, dass j bekannt ist (durch kopie der variablen in ein array - kompliziert, aber sonst hätte js nur die referenz auf j gesetzt). (bin bischen im stress - sorry wegen der kurzen erklärung.) aber es fkt. auch nicht und ehrlich gesagt bin ich ratlos - trotz dieser ganzen kommunikation. deshalb fing ich auch irgendwann an vorzuschlagen, ein kurzes copy-paste auszuführen.

    hier der verusch mit dem array:
    Code:
    var global_j = new Array();
    global_j.push(1);
    
    function zeige() {
           document.getElementById("test").innerHTML = "j ist "+global_j[0];
    }
    
    function copyToGlobal(j) {
       global_j = new Array();
       global_j.push(j);
    }
    
    function pruefeFSAZmitInterval() {
          for (var j=0; j<1000000; j++) {
             copyToGlobal(j);
          }
          clearInterval();
    }
    muss jetzt kurz weg und melde mich in round about 2 stunden. danke im voraus.

    gruß dura4cell

  15. #15
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: Fortschrittsanzeige für Schleife

    [ ] du hast dir das Beispiel für Intervalle im Selfhtml angeschaut
    [X] du brauchst die Informationen dieses Links: SELFHTML: JavaScript / Objektreferenz / window
    Geändert von daWonderer (06-05-2007 um 15:58 Uhr)

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. var aus Datenbank Abfrage in eine Schleife
    Von gpsscout im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 06-09-2006, 22:45
  2. Schleife pausieren
    Von ThunderStorm123 im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 22-11-2005, 22:01
  3. Schleife mit Verzögerung?
    Von VeoX im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 15-08-2005, 14:53
  4. Geschachtelte For Schleife??
    Von newbie_forever? im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 12-11-2004, 23:05
  5. Kleines problem mit While schleife??
    Von Bigman007 im Forum JavaScript
    Antworten: 44
    Letzter Beitrag: 07-01-2003, 21:30

Lesezeichen

Berechtigungen

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