2011-01-16 5 views
4

Ich habe den Fortschrittsbalken curlPHP Curl-Fortschrittsbalken (Rückruf zurückkehr percentage)

curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, 'callback'); 

curl_setopt($curl, CURLOPT_BUFFERSIZE,64000); 

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 

und eine Callback-Funktion implementiert.

Problem ist, wird das Skript den Prozentsatz auf meinem html jedes Mal wie folgt ausgibt:

0 
0.1 
0.2 
0.2 
0.3 
0.4 
.. 
.. 
.. 
1 
1.1 

Wie kombiniere ich das mit CSS einen Wechsel Fortschrittsbalken zu zeigen?

+0

Hallo @WarDoGG, können Sie bitte das vollständige Arbeitsbeispiel der Lösung bereitstellen? – ayublin

Antwort

4

Angenommen, Sie einen Fortschrittsbalken HTML haben:

<div id="progress-bar"> 
    <div id="progress">0%</div> 
</div> 

CSS:

#progress-bar { 
    width: 200px; 
    padding: 2px; 
    border: 2px solid #aaa; 
    background: #fff; 
} 

#progress { 
    background: #000; 
    color: #fff; 
    overflow: hidden; 
    white-space: nowrap; 
    padding: 5px 0; 
    text-indent: 5px; 
    width: 0%; 
} 

und JavaScript:

var progressElement = document.getElementById('progress') 

function updateProgress(percentage) { 
    progressElement.style.width = percentage + '%'; 
    progressElement.innerHTML = percentage + '%'; 
} 

Sie können es Ausgabe JavaScript und es haben die Fortschritte aktualisieren Bar für Sie, zum Beispiel:

<script>updateProgress(0);</script> 
<script>updateProgress(0.1);</script> 
<script>updateProgress(0.2);</script> 
.. 
.. 

Beachten Sie, dass nicht jedes Update in separaten Script-Block setzen können, da der Browser die vollständige Skript zu lesen, vor der Ausführung und die Fortschrittsbalken werden nicht funktionieren wird versuchen.

+0

Super! Ich kann dir nicht genug danken. Du hast mir wirklich einen großen Vorteil gebracht. Danke nochmal, mein Freund. –

+0

Nur aus Neugier, verstopft es mein HTML nicht zu sehr? mit Skript-Tags? Vielleicht den Browser überladen und abstürzen? –

+0

Um. Vielleicht, weil die Ausgabe eines Fortschritts alle 0,1 Prozent 1000 Skript-Tag bedeutet. Vielleicht können Sie eine Schwelle setzen, die den Fortschritt alle 1 Prozent aktualisiert, so dass es höchstens 100 Skript-Tags gibt. – Thai