2010-11-24 17 views
3

Ich habe eine Datei in PHP, die eine Datei herunterlädt und extrahiert den Inhalt. Ich führe diese Datei jetzt regelmäßig aus, indem ich eine Batch-Datei erstelle und sie dem Scheduler zuweise. Wie kann ich einen Fortschrittsbalken aufklappen, der den Status der Task-Datei wie Download, Extrahieren usw. zeigt. Ich muss den Fortschrittsbalken nur anzeigen, wenn die Aufgabe ausgeführt wird, sagen wir @ 6 pm täglich ...jQuery UI Modal Fortschrittsbalken

wie folgt aus: http://www.codeproject.com/KB/scripting/loadingbox/load1.JPG

Antwort

1

der Code für das Hinzufügen einer Beschreibung-Text die festlegen progressbar (wenn Sie benötigen)

<style> 
     .ui-progressbar-text{ 
     width:100%; 
     position:relative; 
     top:-17px; 
     text-align:center; 
     } 
    </style> 
    <script> 
    $(document).ready(function() { 
    $("#progressbar").progressbar() 
     .append('<div class="ui-progressbar-text" ></div>'); 
    </script> 

das Skript wo Anfrage der Text-Datei immer 200ms:

window.setInterval(function(){ 
    $.get('currenttask.txt', function(data) { 
    $('#progressbar') 
     .progressbar({value: data.split(";")[0]}) //update the progressbar-value 
     .find('.ui.progressbar-text') //update the progressbar-description 
     .html(data.split(";")[1]) 
     .end() 
     ; 
    }); 
},200); 

die Text-Datei:

--begin of file 
"30;extracting" 
--end of file 

die PHP-Skript erstellt die Text-Datei mit einer Zeile, die einen Wert und einen Text, der die aktuelle Ausführung Aufgabe darstellen enthält.

+0

Was ist 'current.txt' und wird die Textdatei automatisch erstellt. – Kut

+0

Die Textdatei muss in Ihrer PHP-Datei erstellt werden – Floyd

+0

können Sie pls: wie wat die Textdatei muss enthalten ... – Kut

2

Sie setzen den Fortschritt der Fortschritt selbst mit .progressbar("value" , [value]) Funktionsleiste.

Sie müssen den geladenen Prozentsatz des aktuellen Prozesses berechnen, damit dies funktioniert. Sie können beispielsweise die Fortschrittsleiste anzeigen, um alle Ihre Bilder vorab anzuzeigen.

0

Ich benutze ein Modal mit einem Spinner GIF darin, wenn die Aufgabe abgeschlossen ist informiert es den Benutzer und schließen.

Wenn Sie etwas komplexer als eine echte Fortschrittsbalken (in Prozent) jQuery UI hat einen Fortschrittsbalken-Widget, wo Sie Fortschritte durch Mittel der

.progressbar({ value: x }); 
+0

So: http://jsfiddle.net/nqTL7/ – Floyd

+0

Zuerst können Sie eine JSON-JavaScript-Datei mit allen Aufgaben und PopUp-Times, Beschreibungen ... erstellen. Mit setInterval können Sie eine Funktion zeitweise ausführen die JSON-Datei per Ajax ("$ .getJSON ({url: ...})") interagiert die Elemente und prüft, ob die Zeit abgelaufen ist und popup/setzt die Fortschrittsleiste (was immer Sie wollen). – Floyd

+0

Was meinen Sie mit "Wie aktualisiere ich den Fortschritt auf einer anderen Seite mit dem Fortschritt dieser Aufgabe"? Wenn diese "andere Seite" mit window.open geöffnet wird, können Sie Folgendes tun: "var t = window.open (" tasks.html ", ..); t.SetProgress (" title "," value ", ..); " In diesem Fall ist "SetProgress" eine Funktion in "tasks.html", die Sie auf der Parrent-Seite aufrufen können. – Floyd