Frage von Dermanilor, 49

Javascript for mit Funktion?

Hey. Ich habe folgendes Problem: Ich hab eine Funktion, der Parameter gegeben werden und die etwas damit berechnet. Während des Rechnens soll er in Dauerschleife quasi als Ladescreen eine Nachricht ausgeben ("." Als erstes, ".." Als 2., "..." Als 3. und alles wieder von vorn) Weiß einer wie ich das anstellen kann? PS: die Ausgabe ist ebenfalls ne Funktion der die Nachricht als Parameter übergeben wird

Antwort
von selfrefactor, 18

Können Sie der Code teilen, weil alles ist ein bisschen abstract, aber es scheint nicht kompliziert.

Antwort
von fluffiknuffi2, 14

Z. B. in dem du mit zwei unterschiedlichen Funktionen arbeitest. JS kann ja mit asynchronen Funktionen arbeiten. Also startest du erst die Funktion zum Anzeigen des Fortschritts, dann die eigentliche Funktion. Die erste malt die ganze Zeit die Pünktchen (sie malt einen Punkt und ruft sich dann mit window.setTimeout() oder ähnlichem nach ein paar Millisekunden wieder auf). Die zweite berechnet und wenn sie fertig ist dann vermerkt sie das in einer Variablen auf die auch Funktion Eins zugreifen kann. Diese überprüft immer diese Variable und wenn sie anhand ihres Wertes feststellt das Funktion Zwei fertig ist, dann bricht sie selber auch ab.

Visualisiert: http://abload.de/img/ablauf42u4c.jpg

Antwort
von Dory1, 25

Wie wär's wenn du für die Lade-Animation einfach ein Bild verwendest? Vor der Berechnung setzt du das Bild ein, sobald die Berechnung abgeschlossen ist ersetzt du das Bild mit dem Ergebnis:

http://www.lureshop.eu/skin/frontend/default/theme362/images/opc-ajax-loader.gif

Sollte die Berechnung wirklich sehr lange dauern, musst du sie möglicherweise mithilfe von setTimeout(function() {...}, 0) in mehrere Segmente aufteilen, damit der Browser die Animation darstellen kann und weiterhin auf Benutzereingaben reagiert.


Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten