Modifica basata sui commenti.
Se si desidera tenere traccia di quanti dei messaggi sono stati caricati, è necessario eseguire un sistema di polling in una sessione corrente (si potrebbe fare con i socket, ma ciò si sta complicando).
Nel PHP, avviare una sessione (prima di caricare la prima pagina) e creare una variabile di sessione per memorizzare l'avanzamento. Nella pagina in cui scrivi, usa la stessa sessione, imposta progressivamente su 0 e ogni volta che i loop SendMessage
aggiornano quella variabile con l'ultimo avanzamento.
Nel JS, inviare la richiesta PHP utilizzando AJAX (quindi l'HTML rimane) e quindi utilizzare setTimeout()
per eseguire una seconda richiesta AJAX sul nuovo file che è necessario scrivere che utilizza la stessa sessione, acquisisce i dati di avanzamento aggiornati e restituisce questo - sarà uguale alla risposta iniziale. Quando si ottiene una risposta, ripetere setTimeout
e ripetere (non utilizzare setInterval
come si può bloccare un server che lo fa). Quando viene restituita la richiesta iniziale, elimina il timeout.
Nota finale: usare jQueryUI è eccessivo per questo; quindi usalo solo se hai altre cose per le quali lo stai usando. Altrimenti sono 10 righe di codice (sotto).
La speranza che aiuta/risponde alla domanda.
** ** risposta precedente
Il modo più semplice per farlo è di due avvolgere due div uno dentro l'altro.
Il tuo foglio di stile deve contenere:
<style>
.progressBar {
position: relative;
border: 1px solid black; /* Style as you see fit */
}
.progressIndicator {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 10%;
background: #f00; /* Style as you see fit */
}
</style>
tuo HTML dovrebbe contenere
<html>
<div class="progressBar">
<div class="progressIndicator">
</div>
</div>
</html>
Javascript (jQuery) risposta dovrebbe contenere
$('.progressIndicator').css({width: parseInt(data, 10) + "%"});
(dove i dati vengono il valore restituito tra 0 e 100)
Risposta piacevole, +1, così vicino a 10k anche;) – Darren
No, non è la mia risposta. Voglio ottenere la percentuale di processo reale completa. Posso creare una barra dei processi con jquery ui. – Hamed
Come in quanti dati sono stati caricati? Oppure il login richiede molto tempo e vuoi sapere fino a che punto il processo di accesso è progredito? – Robbie