2012-03-27 3 views
0

Ich habe Skript gemacht, das Informationen von verschiedenen Seiten ändert, es passiert, wenn ich auf den Knopf klicke, manchmal dauert es 1-2 Sekunden, um Informationen zu finden und anzuzeigen manchmal 10 oder mehr Sekunden. i ein Skript aus, das einige Tabellenzeilen ändern etc in timeOut 5 Sekunden, wie ich timeOut einstellen kann, wenn ich weiß nicht, wie lange diese SucheWie können wir timeOut einstellen, wenn nicht wissen, wie lange das Laden der Seite dauern wird

$("div.dreamcast input.btn").click(function() { 

    $.ajax({  
     success: function() { 
      setTimeout(function() { 
       //i want to change results information here 
       $('table.itt_results tbody tr:first th:contains("etc")').hide(); 

       }, 
       5000 //timeout 5s 
      ); 
}); 
+1

Ihr 'setTimeout' wird erst ausgeführt, wenn der AJAX-Aufruf erfolgreich abgeschlossen wurde, also bin ich mir nicht sicher, was es dort überhaupt macht. Kennen Sie, wie der 'Erfolg' Callback funktionieren soll? – Blazemonger

+0

Sobald Sie in der Erfolgsmethode sind, ist es getan, Sie brauchen nicht das setTimeout. Die Daten können verwendet werden. –

+0

Sie brauchen 'setTimeout' nicht wirklich, da der AJAX' success'-Callback erst ausgelöst wird, wenn die Anfrage beendet ist. – Brandon

Antwort

3

Innerhalb der succes Funktion des jQuery Ajax-Aufruf gehen, wird der Code ausgeführt, sobald der AJAX-Aufruf erfolgreich war. Auf diese Weise müssen Sie nicht wissen, wie lange es dauert, es wird immer in Ordnung sein.

Also keine Notwendigkeit für eine setTimeout hier.

0

Die Erfolgsmethode wird nur ausgeführt, wenn Sie das Ergebnis haben, daher brauchen Sie dort die Timeout-Funktion nicht.

0

Die Erfolgsfunktion wird nur ausgeführt, wenn die Ajax-Funktion erfolgreich beendet wurde. Es ist nicht nötig zu erraten, wie lange es dauern wird.

Verwandte Themen