2012-04-03 4 views
1

Ich möchte das Laden Spinner zeigen, während eine Funktion in jquerymobile ausgeführt wird. Die Funktion ist nicht ajax es wird nur einige Werte zu berechnen und zu einem SQLite db speichern. Ich habe gesucht und ich finde immer wieder die gleichen Beispiele und benutze $ .mobile.showPageLoadingMsg(); usw.JqueryMobile Loading Spinner für einen Funktionsaufruf

Beispiel

function loading() 
{ 
    $.mobile.showPageLoadingMsg(); 

    //Do Some Stuff in here 

    $.mobile.hidePageLoadingMsg(); 
} 

Vielen Dank im Voraus. LMAC

+1

Was ist das Problem/die Frage? Wenn sich der Spinner nicht dreht oder gar lädt, weil Ihre Berechnungen die gesamte CPU beanspruchen. Sie können möglicherweise Verzögerungen in einer Schleife oder etwas platzieren, damit der Spinner zeichnen kann. – Jasper

+0

Hallo Jasper, danke für deine Antwort, hast du Beispiele für deine Verzögerungsmethode. – lmac34

Antwort

1

Sie können einfach anrufen:

$.mobile.showPageLoadingMsg(); 

am Anfang Ihrer Funktion, wie Sie erwähnt, aber auf einen Rückruf Ihrer Funktion

$.mobile.hidePageLoadingMsg(); 

Wenn Sie den Lader für ein erscheinen wollte bestimmter Zeitraum, den Sie verwenden könnten:

$.mobile.showPageLoadingMsg(); 
var wait = setTimeout(function(){ 
    $.mobile.hidePageLoadingMsg(); 
},400); 
+0

Hallo Roman, ich habe versucht, Ihre setTimeout-Methode, aber es hat nicht funktioniert. Vielen Dank für Ihre Antwort – lmac34

+0

Timeout ist ein Mittel, um den Loader für eine bestimmte Zeit auf dem Bildschirm zu halten, es funktioniert aber es kann nicht sein, was Sie suchen. http://jsfiddle.net/ZFLWN/ – r0m4n

+0

'$ .mobile.showPageLoadingMsg(); setTimeout (function() {// Funktion hier $ .mobile.hidePageLoadingMsg();}, 500); 'arbeitete ich auch denke, Jaspis war korrekt mit max cpu – lmac34

1

Verwenden Sie $ .mobile.loa ding ('show'); und $ .mobile.loading ('verstecken'); stattdessen. Die oben genannten Funktionen sind in der jquery mobile-Dokumentation nicht mehr empfohlen.