Hallo liebe Gemeinde,
ich komme wieder zu euch, weil ich eine Problemlösung brauche.
Es geht dadrum, ich möchte das Design meines Scriptes nach dem Aufrufen der einzelnen Funktionen. Sprich: ich möchte eine Art "Fortschrittsbalken" erstellen, um dem User zu zeigen, wie lange das Script noch braucht bis er "fertig" mit dem Erstellen bestimmter Listen ist.
Und zwar sieht die bisherige Hauptfunktion wie folgt aus:
function init_STL_Aircabin( infile_zusatz_tmp, infile_zusatz_anzahl_tmp, starttime )
{
//--------------------------------//
//-- Aufruf der Unterfunktionen --//
//--------------------------------//
infile_Aircabin = Excel_Tabelle_Laden( locations.infile, locations.startSheet );
anzahl_Aircabin = infile_Aircabin;
infile_Aircabin = Leere_Eintraege_Loeschen( infile_Aircabin );
anzahl_Aircabin = Leere_Eintraege_Loeschen( anzahl_Aircabin );
infile_Aircabin = Daten_konvertieren( infile_Aircabin );
anzahl_Aircabin = Anzahl_konvertieren( anzahl_Aircabin );
list_Aircabin = Sortierte_Liste( [ locations.posA, locations.posB, locations.posC, locations.posD, locations.posE ] )[0];
infile_unique_Aircabin = MattenUnikate( infile_Aircabin, infile_zusatz_tmp );
anzahl_Aircabin = MattenUnikateAnzahl( infile_Aircabin, infile_unique_Aircabin, anzahl_Aircabin );
excel_infile_Aircabin = MattenUnikate( infile_Aircabin );
infile_unique_Aircabin = infile_unique_Aircabin.concat( infile_zusatz_tmp );
anzahl_Aircabin = anzahl_Aircabin.concat( infile_zusatz_anzahl_tmp );
infile_unique_gesamt_Aircabin = MattenUnikate_Gesamt( infile_unique_Aircabin );
anzahl_gesamt_Aircabin = MattenUnikateAnzahl_Gesamt( infile_unique_Aircabin, infile_unique_gesamt_Aircabin, anzahl_Aircabin );
...
return;
};
Nun will ich aber folgende Funktion hinzufügen:
(Diese würde ich nach jeder Funktion aufrufen wollen)
//----------------------------------------------------//
//-- Anzeigestatus für den Fortschritt des Scriptes --//
//----------------------------------------------------//
function Fortschritt_Anzeige( Anzeigewert )
{
var Wert = Anzeigewert + 5;
document.getElementById( "STL_Fortschritt_Anzeige" ).style.display = "inline";
document.getElementById( "STL_Fortschritt_Anzeigestatus" ).innerHTML = Wert;
return Wert;
};
Also nach jedem Aufruf der o.g. Funktionen den Prozentwert um 5 erhöhen und gleichzeitig ausgeben. Und genau da zeigt er es nicht an.
Das Script läuft alle Funktionen durch ohne das Design zu verändern. Erst am Ende wird es ausgegeben bzw. ist die Veränderung sichtbar, aber nur der letzte Wert.
Wie also bewerkstellige ich es, dass er mir eine Art "Ladezustand" übermittelt? Oder anders gefragt: Wie halte ich das Script kurz an, damit er die "Veränderung" anzeigt? Mittels setTimeout() oder gibt es da andere Möglichkeiten dazu?
PS: ich will nicht auf die Eingabe des Users warten (war schonmal ein Thema von mir), sondern das Ändern des Design's nach jeder Funktion.
LG Romero