Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > Sonstige Programmiersprachen

Sonstige Programmiersprachen Das Sammel-Forum für alle weiteren Programmiersprachen wie z.B. Assembler, Delphi, Pascal, C# (C-Sharp), Java usw.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26908, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3325, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 309, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7641, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 22, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 56, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 145, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 70, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50944, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16.09.2011, 11:54   #1 (Direktlink)
Erfolgreich angemeldet
 
Benutzerbild von Kuermel
 
Registriert seit: 22.05.2011
Alter: 20
Beiträge: 21
Standard Javascript funktionen nacheinander durchlaufen

Guten Tag liebes Forum
Vorstellung: Ich bastle gerade für meinen Chef ein Projekt zusammen. Bisher klappt alles wunderbar, doch ich habe ien kleines 'Schönheitsproblem'.
Bei einer gewissen Funktion werden drei verschiedene Ajax-Requests an den Server geschickt. Da die Ladezeiten dafür deutlich im wahrnehmbaren Bereich liegen wollte ich hier für etwa eine Sekunde eine Spinner-Ladegrafik einblenden. Sonst sieht der Aufbau der Seite merkwürdig aus und wirkt nicht besonders freundlich auf den Benutzer.

Programm: Bisher wollte ich das so lösen:
Ladegrafik(true);
Funktion1();
Funktion2();
Funktion3();
Ladegrafik(false);

Die Funktion Ladegrafik blendet bei true die Grafik ein, bei false wieder aus.

Problem: Anstatt abzuwarten, bis die drei Funktionen fertig sind wird die Grafik für ein nicht wahrnehmbare Zeit eingeblendet und sofort wieder ausgeblendet. Die anderen Funktionen benötigen danach noch etwas Zeit.

Frage: Wie kann ich dafür sorgen, dass auf jeden Fall erst die Funktionen beendet werden, bevor meine Grafik wieder ausgeblendet wird?
Ich arbeite übrigens mit jQuery, Google habe ich schon versucht, jedoch fällt mir leider weder ein brauchbarer Suchbegriff dazu ein noch finde ich etwas unter meinen unbrauchbaren . Danke im Vorraus!

Edit/Anmerkung: Ich habe es bereits mit folgendem Provisorium gelöst, finde ich jedoch sehr unschön und nicht gerade prozessorfreundlich..
Ich habe eine globale Variable 'Fortschritt', diese wird bei der ersten Aufgabe mit 25 addiert, nach der zweiten mit 25 und nach der dritten mit 50 (=100).
Zudem gibt es eine Funktion, die sich alle 50ms selbst aufruft, solange fortschritt < 100 ist, wenn nicht wird die Grafik ausgeblendet.
Da die fortschritt variable erst bei dem callback des ajax-requests addiert wird, funktioniert das n sich einwandfrei..jedoch unsauber und prozessorlastig.. Wäre echt schön, wenn jemand eine saubere Lösung hat.
__________________
Gratis Gewinnspiel: http://jackpush.de

Geändert von Kuermel (16.09.2011 um 12:16 Uhr)
Kuermel ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 17.09.2011, 22:23   #2 (Direktlink)
War schon mal da
 
Registriert seit: 06.02.2010
Beiträge: 27
Standard

Du könntest etwa folgendes in jeden der 3 Callbacks packen:
Code:
fortschritt++;
if(fortschritt == 3)
   Ladegrafik(false);
cx01 ist offline   Mit Zitat antworten
Alt 20.09.2011, 13:41   #3 (Direktlink)
Erfolgreich angemeldet
 
Benutzerbild von Kuermel
 
Registriert seit: 22.05.2011
Alter: 20
Beiträge: 21
Standard

Vielen Dank!
Ds war der richtige Ansatz, der mir gefehlt hat.
So habe ich es nun gemacht:
Code:
var fortschritt = 0;

function1()
blabla...(get, var, callback()
{
 fortschritt++;
spinner();
})

function2()
blabla...(get, var, callback()
{
 fortschritt++;
spinner();
})

function3()
blabla...(get, var, callback()
{
 fortschritt++;
spinner();
})

function spinner()
{
 if(fortschritt > 2)
 {
  ladegrafik(false);
  fortschritt = 0;
  return true;
 }
 else
  return false;
}
Damit funktioniert es wunderbar! Danke!
__________________
Gratis Gewinnspiel: http://jackpush.de
Kuermel ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > Sonstige Programmiersprachen

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Box, in der nacheinander verschiedene Bilder gezeigt werden Nono Homepagegestaltung 9 27.05.2011 20:44
[Sonstiges] GMER durchlaufen lassen Unregistriert Viren-Forum 10 21.01.2011 08:28
funktionen des netzwerks. Rettung Allgemein 0 21.11.2005 12:41
Windows Media Player - Filme nacheinander abspielen FleshMachine Office-Anwendungen 1 26.11.2004 17:19
Rambänke nacheinander angesprochen ? rosbud Hardware - Problemlösungen 4 20.10.2004 19:30



Alle Zeitangaben in WEZ +2. Es ist jetzt 05:03 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2