johny7: Preloader / Warten-Symbol beim Laden

Moin allerseits,

gibt es eine komfortable Möglichkeit, immer beim Laden ein entsprechendes Symbol ein zu blenden?
Ich arbeite speziell mit jQuery. Kann ich irgendwo global festlegen, dass bei allen Ajax-Aufrufen ein entsprechender div-Container eingeblendet wird und wenn die Inhalte fertig geladen sind, wieder ausgeblendet?
Ich habe folgendes Probiert:

  
$().ajaxStart(function() {  
	$(".preloader").show();  
}).ajaxStop(function() {  
	$(".preloader").hide();  
}).ajaxError(function(a, b, e) {  
	throw e;  
});  

Irgendwie will das aber nicht. Wenn ich ein Formular abschicke (es wird mit load() abgeschickt) dauert es etwas eine Sekunde, bis es abgeschickt wird. Es erscheint aber trotzdem kein .preloader

Grüße, JN

--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de
  1. Hi,

    gibt es eine komfortable Möglichkeit, immer beim Laden ein entsprechendes Symbol ein zu blenden?

    cursor:wait

    Das kennt der Nutzer von seinem OS bereits aus anderen Zusammenhängen, wo er auf ein Ergebnis warten muss - also im Sinne des Wiedererkennungswertes m.E. ideal.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Moin allerseits,

      Hi,

      gibt es eine komfortable Möglichkeit, immer beim Laden ein entsprechendes Symbol ein zu blenden?

      cursor:wait

      Das kennt der Nutzer von seinem OS bereits aus anderen Zusammenhängen, wo er auf ein Ergebnis warten muss - also im Sinne des Wiedererkennungswertes m.E. ideal.

      Gute Idee!
      Trotzdem sollte man verhindern, dass der User nach dem Abschicken noch wild im Formular umherklickt. Vielleicht eine Kombination aus beidem?
      Trotzdem bekomme ich es nicht hin, das bei allen Lade- und Wartevorgängen (z.B. bei Berechnungen mit JavaScript) durch zu führen.

      Ich habe mir schon folgende Funktionen programmiert und setze sie entsprechend ein:

        
      		function lockScreen()  
      		{  
      			$(".preloader").show();  
      		}  
      		function unlockScreen()  
      		{  
      			$(".preloader").hide();  
      		}  
      
      

      Grüße, JN

      --
      ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
      http://www.johny7.de
      1. Hi,

        Trotzdem sollte man verhindern, dass der User nach dem Abschicken noch wild im Formular umherklickt.

        Dann disable seine Felder.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Moin allerseits,

          Dann disable seine Felder.

          Das ist auch eine Möglichkeit.

          Ich rufe im Moment nach dem Laden mit der akax-Funktion mein obiges unlockScreen() auf, dann klappt es.
          Wie schaffe ich das aber mit der load()-Funktion? Sofern ich die Dokumentation richtig lese, erwartet diese Funktion keine callback-Funktion.
          Außerdem wäre es doch wirklich einfacher, das zentral zu definieren.
          Auch wenn ich den Mauszeiger ändere: Ich muss erst dann wieder auf Standard stellen, wenn der Inhalt geladen ist. Es reicht nicht, den entspr. Befehl einfach nach dem load() zu notieren. Wie kann ich das erreichen? Das load-Event spricht irgendwie nicht an...

          Grüße, JN

          --
          ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
          http://www.johny7.de
      2. Hi,
        viell. ist der Spinner von mootools eine Überlegung wert:
        http://mootools.net/docs/more/Interface/Spinner
        Gruß,
        berlinsurfer