2011-01-07 9 views
1

Ich weiß nicht, was ich fragen, ist machbar oder nicht. Aber immer noch, wenn ich eine Ajax-Anfrage starte, möchte ich das Ereignis processing an den Browser senden, so dass es den sich drehenden Kreis in der Registerkarte zeigt und einen Fortschrittsbalken anzeigt, bis die Anfrage abgeschlossen ist.Senden Sie benutzerdefinierte Ereignisse an den Browser

Ist das möglich? Wenn ja, können Sie mich auf die richtige Ressource hinweisen.

+0

beziehen sich diese - http: //docs.jquery.com/UI/Progressbar – Vivek

+2

@Vivek und @answerers unten ... Bitte lesen Sie die Frage richtig und nicht nur den Titel ... @Starx das will ** native ** Browser Spinner und Fortschrittsbalken. –

+0

ok .................... – Vivek

Antwort

1

Es gibt keine Möglichkeit, den Spinner programmgesteuert animieren zu lassen, aber Sie können das Verhalten mit a hidden iframe simulieren. Solange der Iframe geladen wird, animiert der Browser den Spinner.

var doneLoading = false; 

var simulateLoad = function() { 
    var ifrm = document.createElement('IFRAME'); 
    //make dummy.html a sufficiently large file 
    ifrm.setAttribute('src', 'dummy.html?' + Math.floor(Math.random()*100)); 
    ifrm.style.display = 'none'; 
    ifrm.onload = function() { 
     if(!doneLoading) { 
      document.body.removeChild(ifrm); 
      simulateLoad(); 
     } 
    } 
    document.body.appendChild(ifrm); 
} 

var startLoad = function() { 
    doneLoading = false; 
    simulateLoad(); 
} 

var endLoad = function() { 
    doneLoading = true; 
} 
+0

Nun, dann sag mir, wie kann ich eine Seite laden oder eine POST-Anfrage senden und einen versteckten Iframe verwenden, um deren Laden zu simulieren Fertigstellung. – Starx

+0

Ich habe obigen Beispielcode hinzugefügt. Es funktioniert für mich, aber diese Lösung scheint irgendwie hacky. Sie verwenden im Wesentlichen eine Netzwerkverbindung, um einen UI-Effekt zu erzielen. –

+0

wenn Sie gesagt haben, um dummy.html eine ausreichend große Datei zu machen, wie wird es relativ zu meinen Ajax-Anfragen ?, was ist, wenn die Seite, die ich anfrage, eine ausreichend kleine ist. Ich bin verwirrt. Bitte finde mich nicht nervig und hilf mir das zu klären. – Starx

Verwandte Themen